SDK FPGA pour OpenCL
Guide de l'utilisateur
UG-OCL009
2017.05.08
Dernière mise à jour pour Intel® Quartus® Prime Design Suite : 17.0
S'abonner
Envoyer des commentaires
SDK Intel® FPGA pour OpenCL™ Guide de portage de plate-forme de référence du kit de développement Intel® Cyclone®V SoC
Le Guide de portage de la plate-forme de référence du kit de développement V SoC décrit la conception matérielle et logicielle de la plate-forme de référence du kit de développement Intel Cyclone V SoC (c5soc) à utiliser avec le kit de développement logiciel Intel (SDK) pour OpenCL Le SDK Intel ® FPGA pour OpenCL ™ Intel Cyclone ® . Avant de commencer, Intel vous recommande vivement de vous familiariser avec le contenu des documents suivants :
- Intel FPGA SDK pour OpenCLIntel Cyclone V SoC Guide de démarrage
- Guide de l'utilisateur du SDK Intel FPGA pour OpenCL Custom Platform Toolkit
- Cyclone V Device Handbook, Volume 3 : Hard Processor System Technical Reference Manual En outre, reportez-vous à la page Cyclone V SoC Development Kit et SoC Embedded Design Suite du site Altera. webpour plus d'informations. 1 2
Attention: Intel suppose que vous avez une compréhension approfondie du Guide de l'utilisateur du kit de développement de plateforme personnalisée Intel FPGA SDK pour OpenCL. Le Guide de portage de la plate-forme de référence du kit de développement SoC Cyclone V ne décrit pas l'utilisation du kit d'outils de plate-forme personnalisée du SDK pour implémenter une plate-forme personnalisée pour le kit de développement SoC Cyclone V. Il décrit uniquement les différences entre la prise en charge du SDK sur le kit de développement Cyclone V SoC et un SDK Intel FPGA générique pour la plate-forme personnalisée OpenCL.
Liens connexes
- Guide de démarrage du SDK Intel FPGA pour OpenCL Cyclone V SoC
- Guide de l'utilisateur du SDK Intel FPGA pour OpenCL Custom Platform Toolkit
- Cyclone V Device Handbook, Volume 3 : Manuel de référence technique du système de processeur dur
- Kit de développement Cyclone V SoC et page SoC Embedded Design Suite sur Altera website
- OpenCL et le logo OpenCL sont des marques commerciales d'Apple Inc. utilisées avec l'autorisation de Khronos Group™.
- Le SDK Intel FPGA pour OpenCL est basé sur une spécification Khronos publiée et a réussi le processus de test de conformité Khronos. L'état de conformité actuel peut être trouvé à www.khronos.org/conformance.
Société intel. Tous les droits sont réservés. Intel, le logo Intel, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus et Stratix sont des marques commerciales d'Intel Corporation ou de ses filiales aux États-Unis et/ou dans d'autres pays. Intel garantit les performances de ses produits FPGA et semi-conducteurs selon les spécifications actuelles conformément à la garantie standard d'Intel, mais se réserve le droit d'apporter des modifications à tout produit et service à tout moment et sans préavis. Intel n'assume aucune responsabilité découlant de l'application ou de l'utilisation de toute information, produit ou service décrit dans le présent document, sauf accord exprès et écrit d'Intel. Il est conseillé aux clients d'Intel d'obtenir la dernière version des spécifications de l'appareil avant de se fier aux informations publiées et avant de passer des commandes de produits ou de services.
*D'autres noms et marques peuvent être revendiqués comme étant la propriété d'autrui.
1.1.1 Variantes de carte de plate-forme de référence du kit de développement Cyclone V SoC
La plate-forme de référence du kit de développement Intel FPGA SDK pour OpenCL Cyclone V SoC comprend deux variantes de carte.
- carte c5soc
Cette carte par défaut donne accès à deux banques de mémoire DDR. Le HPS DDR est accessible à la fois par le FPGA et le CPU. Le FPGA DDR n'est accessible que par le FPGA. - carte c5soc_shareonly
Cette variante de carte ne contient que la connectivité HPS DDR. Le FPGA DDR n'est pas accessible. Cette variante de carte est plus économe en espace car moins de matériel est nécessaire pour prendre en charge une banque de mémoire DDR. La carte c5soc_shareonly est également une bonne plate-forme de prototypage pour une carte de production finale avec une seule banque de mémoire DDR.
Pour cibler cette variante de carte lors de la compilation de votre noyau OpenCL, incluez l'option -board c5soc_shareonly dans votre commande aoc.
Pour plus d'informations sur le –board option de la commande aoc, reportez-vous au Guide de programmation du SDK Intel FPGA pour OpenCL.
Liens connexes
Compilation d'un noyau pour une carte FPGA spécifique (–board )
1.1.2 Contenu de la plateforme de référence du kit de développement Cyclone V SoC
La plate-forme de référence du kit de développement Cyclone V SoC comprend les éléments suivants files et répertoires :
File ou Annuaire | Description |
board_env.xml | Langage de balisage extensible (XML) file qui décrit c5soc au SDK Intel FPGA pour OpenCL. |
linux_sd_card_image.tgz | Image de carte flash SD compressée file qui contient tout ce dont un utilisateur du SDK a besoin pour utiliser le kit de développement Cyclone V SoC avec le SDK. |
bras32 | Répertoire contenant les éléments suivants : |
1.1.3 Caractéristiques pertinentes du kit de développement Cyclone V SoC
La liste suivante met en évidence les composants et fonctionnalités du kit de développement Cyclone V SoC qui sont pertinents pour le SDK Intel FPGA pour OpenCL :
- Processeur ARM Cortex-A9 double cœur exécutant Linux 32 bits.
- Bus AXI (Advanced eXtensible Interface) entre le HPS et la matrice centrale FPGA.
- Deux contrôleurs de mémoire DDR renforcés, chacun se connectant à une SDRAM DDR1 de 3 gigaoctet (Go).
— Un contrôleur DDR est accessible uniquement au cœur FPGA (c'est-à-dire FPGA DDR).
— L'autre contrôleur DDR est accessible à la fois au HPS et au FPGA (c'est-à-dire HPS DDR). Ce contrôleur partagé permet un partage de mémoire libre entre le CPU et le cœur du FPGA. - Le processeur peut reconfigurer la structure centrale du FPGA.
1.1.3.1 Objectifs et décisions de conception de la plate-forme de référence du kit de développement SoC Cyclone V Intel base la mise en œuvre de la plate-forme de référence du kit de développement SoC Cyclone V sur plusieurs objectifs et décisions de conception. Intel vous recommande de tenir compte de ces objectifs et décisions lorsque vous portez cette plate-forme de référence sur votre carte FPGA SoC.
Voici les objectifs de conception c5soc :
- Fournir la bande passante la plus élevée possible entre les noyaux du FPGA et le(s) système(s) de mémoire DDR.
- Assurez-vous que les calculs sur le FPGA (c'est-à-dire les noyaux OpenCL) n'interfèrent pas avec d'autres tâches du processeur pouvant inclure la maintenance des périphériques.
- Laissez autant de ressources FPGA que possible pour les calculs du noyau au lieu des composants d'interface.
Vous trouverez ci-dessous les décisions de conception de haut niveau qui sont les conséquences directes des objectifs de conception d'Intel :
- La plate-forme de référence utilise uniquement des contrôleurs de mémoire dur DDR avec la configuration la plus large possible (256 bits).
- Le FPGA communique directement avec le contrôleur de mémoire HPS DDR, sans impliquer le bus AXI et le commutateur L3 à l'intérieur du HPS. La communication directe fournit la meilleure bande passante possible à la DDR et empêche les calculs FPGA d'interférer avec les communications entre le CPU et sa périphérie.
- L'accès direct à la mémoire par diffusion-collecte (SG-DMA) ne fait pas partie de la logique d'interface FPGA. Au lieu de transférer de grandes quantités de données entre les systèmes de mémoire DDR, stockez les données dans le HPS DDR partagé. L'accès direct à la mémoire CPU par le FPGA est plus efficace que le DMA. Il économise les ressources matérielles (c'est-à-dire la zone FPGA) et simplifie le pilote du noyau Linux.
Avertissement: Le transfert de mémoire entre le système HPS DDR partagé et le système DDR accessible uniquement au FPGA est très lent. Si vous choisissez de
transférez la mémoire de cette manière, utilisez-la uniquement pour de très petites quantités de données. - L'hôte et l'appareil effectuent un transfert de données non DMA entre eux via le pont HPS-à-FPGA (H2F), en utilisant un seul port 32 bits. La raison en est que sans DMA, le noyau Linux ne peut émettre qu'une seule demande de lecture ou d'écriture 32 bits, il n'est donc pas nécessaire d'avoir une connexion plus large.
- L'hôte envoie des signaux de contrôle à l'appareil via un pont léger H2F (LH2F).
Étant donné que les signaux de contrôle de l'hôte vers l'appareil sont des signaux à faible bande passante, un pont LH2F est idéal pour cette tâche.
1.2 Portage de la plate-forme de référence sur votre carte FPGA SoC
Pour porter la plate-forme de référence du kit de développement SoC Cyclone V sur votre carte FPGA SoC, effectuez les tâches suivantes :
- Sélectionnez la version à une ou deux mémoires DDR de la plate-forme de référence c5soc comme point de départ de votre conception.
- Mettez à jour les emplacements des broches dans ALTERAOCLSDKROOT/board/c5soc/ /top.qsf file, où ALTERAOCLSDKROOT est le chemin d'accès à l'emplacement de l'installation du SDK Intel FPGA pour OpenCL, et est le nom du répertoire de la variante de carte. Le répertoire c5soc_shareonly est destiné à la variante de carte avec un système de mémoire DDR. Le répertoire c5soc est destiné à la variante de carte avec deux systèmes de mémoire DDR.
- Mettez à jour les paramètres DDR pour les blocs SDRAM HPS et/ou FPGA dans ALTERAOCLSDKROOT/board/c5soc/ /system.qsys file.
4. Toutes les conceptions de cartes préférées du SDK Intel FPGA pour OpenCL doivent atteindre une fermeture de synchronisation garantie. En tant que tel, le placement de la conception doit être précis dans le temps. Pour porter la partition de la carte c5soc (acl_iface_partition.qxp) sur votre carte FPGA SoC, effectuez les tâches suivantes :
Pour des instructions détaillées sur la modification et la préservation de la partition de la carte, reportez-vous au Quartus
Chapitre Prime Incremental Compilation for Hierarchical and Team-Based Design du manuel Quartus Prime Standard Edition.
un. Supprimez acl_iface_partition.qxp du répertoire ALTERAOCLSDKROOT/board/c5soc/c5soc.
b. Activez la région acl_iface_region LogicLock™ en modifiant la commande Tcl set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region en set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
c. Compilez un noyau OpenCL pour votre carte.
ré. Si nécessaire, ajustez la taille et l'emplacement de la région LogicLock.
e. Lorsque vous êtes convaincu que le placement de votre conception est propre, exportez cette partition en tant que partition exportée acl_iface_partition.qxp Quartus Prime File.
Comme décrit dans la section Establishing Guaranteed Timing Flow du AIntel FPGA SDK for OpenCL Custom Platform Toolkit User Guide, en important ce fichier .qxp file dans la conception de haut niveau, vous remplissez l'exigence de fournir une conception de carte avec un flux de fermeture de synchronisation garanti.
Pour les facteurs susceptibles d'avoir un impact sur la qualité des résultats (QoR) de votre partition exportée, reportez-vous à la section Considérations générales sur la qualité des résultats pour la partition de carte exportée dans le Guide de l'utilisateur du kit de développement Intel FPGA SDK pour OpenCL Custom Platform Toolkit.
F. Désactivez la région acl_iface_region LogicLock en rétablissant la commande de l'étape 2 sur set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region. - Si votre carte FPGA SoC utilise des broches et des périphéries différentes du bloc HPS, régénérez le préchargeur et la source de l'arborescence des périphériques (DTS) file. Si vous modifiez les paramètres du contrôleur de mémoire HPS DDR, régénérez le préchargeur.
- Créez l'image de la carte flash SD.
- Créez votre plate-forme personnalisée, qui inclut l'image de la carte flash SD.
- Envisagez de créer une version d'environnement d'exécution de votre plate-forme personnalisée à utiliser avec l'environnement d'exécution Intel FPGA (RTE) pour OpenCL. La version RTE de votre plate-forme personnalisée n'inclut pas les répertoires matériels et l'image de la carte flash SD. Cette plate-forme personnalisée se charge sur le système SoC FPGA pour permettre aux applications hôtes de s'exécuter. En revanche, la version SDK de la plate-forme personnalisée est nécessaire pour que le SDK compile les noyaux OpenCL.
Conseil : Vous pouvez utiliser la version SDK de votre plate-forme personnalisée pour le RTE. Sauver
espace, supprimez l'image de la carte flash SD de la version RTE de votre plate-forme personnalisée. - Testez votre plateforme personnalisée.
Reportez-vous à la section Testing the Hardware Design du Guide de l'utilisateur du SDK Intel FPGA pour OpenCL Custom Platform Toolkit pour plus d'informations.
Liens connexes
- Test de la conception matérielle
- Compilation incrémentielle Quartus Prime pour la conception hiérarchique et en équipe
- Établir un flux de synchronisation garanti
- Considérations générales sur la qualité des résultats pour la partition de carte exportée
1.2.1 Mise à jour d'une plate-forme de référence portée
Dans la version actuelle de la plate-forme de référence du kit de développement Cyclone V SoC, le bloc HPS se trouve à l'intérieur de la partition qui définit toute la logique non-noyau. Cependant, vous ne pouvez pas exporter le HPS dans le cadre du .qxp file. Pour mettre à jour une plate-forme personnalisée existante que vous avez modifiée à partir d'une version précédente de c5soc, implémentez le flux de préservation QXP, mettez à jour l'image de la carte flash SD pour obtenir le dernier environnement d'exécution et mettez à jour le board_spec.xml file pour activer l'automigration.
Le SDK Altera® pour OpenCL version 14.1 et au-delà sonde le board_spec.xml file pour les informations du conseil d'administration et implémente des mises à jour automatiques. Parce que vous modifiez le
conception en implémentant le flux de préservation QXP, vous devez mettre à jour le fichier board_spec.xml file à son format dans la version actuelle. Mise à jour du file permet au SDK de faire la distinction entre les plates-formes personnalisées non conservées et les plates-formes personnalisées actuelles basées sur QXP. Reportez-vous à Custom Platform Automigration for Forward Compatibility dans le Guide de l'utilisateur du SDK Intel FPGA pour OpenCL Custom Platform Toolkit pour plus d'informations.
- Pour implémenter le flux de préservation QXP dans une conception matérielle Cyclone V SoC FPGA qui est portée à partir d'une version précédente de c5soc, effectuez les étapes suivantes pour créer une sous-partition afin d'exclure le HPS du .qxp file:
un. Avant de créer une partition autour de la logique non-noyau, créez une partition autour du HPS dans les paramètres .qsf Quartus Prime File.
Par exempleample:
# Partitionner manuellement l'instance qui modélise les E/S dédiées HPS set_instance_assignment -name PARTITION_HIERARCHY borde_18261 -to "system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_iface_hps_0_hps_io:hps_io| system_acl_iface_hps_0_hps_io_border:border" -section_id "system_acl_iface_hps_0_hps_io_border:border"
# Définissez la partition sur un type HPS_PARTITION pour qu'elle soit traitée correctement par le reste de Quartus
set_global_assignment -name PARTITION_TYPE HPS_PARTITION -section_id "system_acl_iface_hps_0_hps_io_border:border"
quartus_cdb haut -c haut
–incremental_compilation_export=acl_iface_partition.qxp
–incremental_compilation_export_partition_name=acl_iface_partition
–incremental_compilation_export_post_synth=on
–incremental_compilation_export_post_fit=on
–incremental_compilation_export_routing=on
–incremental_compilation_export_flatten=off
Après avoir exclu le HPS de la partition, vous pouvez importer le .qxp file et compilez votre conception. - Mettez à jour l'image de la carte flash SD avec la version actuelle d'Intel FPGA RTE pour OpenCL en effectuant les tâches suivantes :
un. Montez le file table d'allocation (fat32) et étendue file partitions système (ext3) dans l'image existante en tant que périphériques de bouclage. Pour des instructions détaillées, reportez-vous à l'étape 2 dans Création d'une image de carte flash SD.
b. Dans le répertoire /home/root/opencl_arm32_rte, supprimez le files de la version précédente du RTE.
c. Téléchargez et décompressez la version actuelle du RTE dans le répertoire /home/root/opencl_arm32_rte.
ré. Dans le /pilote/version.h file de votre plate-forme personnalisée, mettez à jour l'attribution ACL_DRIVER_VERSION à . (par exempleample, 16.1.x, où 16.1 est la version du SDK et x est la version du pilote que vous avez définie).
e. Reconstruisez le pilote.
F. Supprimez le ou les dossiers matériels de votre plate-forme personnalisée. Copiez la plate-forme personnalisée, ainsi que le pilote mis à jour, dans le répertoire /home/root/opencl_arm_rte/board.
g. Copiez Altera.icd file depuis le répertoire /home/root/opencl_arm32_rte et ajoutez-le au répertoire /etc/OpenCL/vendors.
h. Démontez et testez la nouvelle image. Pour des instructions détaillées, reportez-vous aux étapes 8 à 11 dans Création d'une image de carte flash SD.
Liens connexes
- Création d'une image de carte flash SD à la page 14
Vous avez également la possibilité de créer une nouvelle image de carte flash SD. - Automigration de plate-forme personnalisée pour la compatibilité ascendante
1.3 Prise en charge logicielle de la mémoire partagée
La mémoire physique partagée entre le FPGA et le CPU est la mémoire préférée pour les noyaux OpenCL exécutés sur les FPGA SoC. Étant donné que le FPGA accède à la mémoire physique partagée, par opposition à la mémoire virtuelle partagée, il n'a pas accès aux tables de pages du processeur qui mappent les adresses virtuelles des utilisateurs aux adresses de pages physiques.
En ce qui concerne le matériel, les noyaux OpenCL accèdent à la mémoire physique partagée via une connexion directe au contrôleur de mémoire dure HPS DDR. En ce qui concerne le logiciel, la prise en charge de la mémoire physique partagée implique les considérations suivantes :
- Implémentations logicielles typiques pour allouer de la mémoire sur le CPU (par example, la fonction malloc()) ne peut pas allouer une région mémoire que le FPGA peut utiliser.
La mémoire allouée par la fonction malloc() est contiguë dans l'espace d'adressage de la mémoire virtuelle, mais il est peu probable que les pages physiques sous-jacentes soient physiquement contiguës. En tant que tel, l'hôte doit être en mesure d'allouer des régions de mémoire physiquement contiguës. Cependant, cette capacité n'existe pas dans les applications de l'espace utilisateur sous Linux. Par conséquent, le pilote du noyau Linux doit effectuer l'allocation. - Le pilote du noyau Linux OpenCL SoC FPGA inclut la fonction mmap() pour allouer de la mémoire physique partagée et la mapper dans l'espace utilisateur. La fonction mmap() utilise l'appel standard du noyau Linux dma_alloc_coherent() pour demander des régions de mémoire physiquement contiguës à partager avec un périphérique.
- Dans le noyau Linux par défaut, dma_alloc_coherent() n'alloue pas de mémoire physiquement contiguë de plus de 0.5 mégaoctets (Mo). Pour permettre à dma_alloc_coherent() d'allouer de grandes quantités de mémoire physiquement contiguës, activez la fonction d'allocation de mémoire contiguë (CMA) du noyau Linux, puis recompilez le noyau Linux.
Pour la plate-forme de référence du kit de développement Cyclone V SoC, CMA gère 512 Mo sur 1 Go de mémoire physique. Vous pouvez augmenter ou diminuer cette valeur, selon la quantité de mémoire partagée requise par l'application. L'appel dma_alloc_coherent() peut ne pas être en mesure d'allouer la totalité des 512 Mo de mémoire physiquement contiguë ; cependant, il peut régulièrement obtenir environ 450 Mo de mémoire. - Le CPU peut mettre en cache la mémoire que l'appel dma_alloc_coherent() alloue. En particulier, les opérations d'écriture à partir de l'application hôte ne sont pas visibles pour les noyaux OpenCL. La fonction mmap() du pilote de noyau Linux OpenCL SoC FPGA contient également des appels à la fonction pgprot_noncached() ou remap_pf_range() pour désactiver explicitement la mise en cache pour cette région de mémoire.
- Une fois que la fonction dma_alloc_coherent() a alloué la mémoire physiquement contiguë, la fonction mmap() renvoie l'adresse virtuelle au début de la plage, qui correspond à la plage d'adresses de la mémoire que vous allouez. L'application hôte a besoin de cette adresse virtuelle pour accéder à la mémoire. D'autre part, les noyaux OpenCL nécessitent des adresses physiques. Le pilote du noyau Linux assure le suivi du mappage des adresses virtuelles vers physiques. Vous pouvez mapper les adresses physiques que mmap() renvoie aux adresses physiques réelles en ajoutant une requête au pilote.
L'appel d'interface de programmation d'application (API) aocl_mmd_shared_mem_alloc() MMD intègre les requêtes suivantes :
un. La fonction mmap() qui alloue de la mémoire et renvoie l'adresse virtuelle.
b. La requête supplémentaire qui mappe l'adresse virtuelle renvoyée à l'adresse physique.
L'appel API MMD aocl_mmd_shared_mem_alloc() renvoie alors deux adresses
— l'adresse réelle renvoyée est l'adresse virtuelle et l'adresse physique va à device_ptr_out.
Note: Le pilote ne peut mapper que les adresses virtuelles que la fonction mmap() renvoie aux adresses physiques. Si vous demandez l'adresse physique de tout autre pointeur virtuel, le pilote renvoie une valeur NULL.
Avertissement: Le SDK Intel FPGA pour les bibliothèques d'exécution OpenCL suppose que la mémoire partagée est la première mémoire répertoriée dans board_spec.xml file. En d'autres termes, l'adresse physique obtenue par le pilote du noyau Linux devient l'adresse Avalon® que le noyau OpenCL transmet à la HPS SDRAM.
En ce qui concerne la bibliothèque d'exécution, utilisez l'appel clCreateBuffer() pour allouer la mémoire partagée en tant que tampon de périphérique de la manière suivante :
- Pour la variante de carte à deux DDR avec mémoire partagée et non partagée, clCreateBuffer() alloue la mémoire partagée si vous spécifiez l'indicateur CL_MEM_USE_HOST_PTR. L'utilisation d'autres indicateurs force clCreateBuffer() à allouer un tampon dans la mémoire non partagée.
- Pour la variante de carte à une DDR avec uniquement de la mémoire partagée, clCreateBuffer() alloue de la mémoire partagée quel que soit l'indicateur que vous spécifiez.
Actuellement, la prise en charge de Linux 32 bits sur le processeur ARM régit l'étendue de la prise en charge de la mémoire partagée dans les bibliothèques d'exécution du SDK. En d'autres termes, les bibliothèques d'exécution compilées dans d'autres environnements (par example, Linux x86_64 ou Windows 64 bits) ne prennent pas en charge la mémoire partagée.
C5soc n'a pas implémenté de mémoire hétérogène pour faire la distinction entre mémoire partagée et non partagée pour les raisons suivantes :
1. Historique—La prise en charge de la mémoire hétérogène n'était pas disponible lors de la création initiale de la prise en charge de la mémoire partagée.
2. Interface uniforme — Parce qu'OpenCL est une norme ouverte, Intel maintient la cohérence entre les fournisseurs de plates-formes informatiques hétérogènes. Par conséquent, la même interface que les architectures des autres fournisseurs de cartes est utilisée pour allouer et utiliser la mémoire partagée.
1.4 Reconfiguration FPGA
Pour les FPGA SoC, le processeur peut reconfigurer la structure centrale du FPGA sans interrompre le fonctionnement du processeur. Le bloc matériel FPGA Manager qui chevauche le HPS et le FPGA principal effectue la reconfiguration. Le noyau Linux inclut un pilote qui permet un accès facile au gestionnaire FPGA.
- À view l'état du cœur FPGA, appelez la commande cat /sys/class/fpga/fpga0/ status.
L'utilitaire de programme Intel FPGA SDK pour OpenCL disponible avec la plate-forme de référence du kit de développement Cyclone V SoC utilise cette interface pour programmer le FPGA. Lors de la reprogrammation d'un cœur FPGA avec un processeur en cours d'exécution, l'utilitaire du programme effectue toutes les tâches suivantes :
1. Avant de reprogrammer, désactivez tous les ponts de communication entre le FPGA et le HPS, les ponts H2F et LH2F.
Réactivez ces ponts une fois la reprogrammation terminée.
Attention : Le système OpenCL n'utilise pas le pont FPGA vers HPS (F2H). Reportez-vous à la section Interfaces HPS-FPGA du Cyclone V Device Handbook, Volume 3 : Hard Processor System Technical Reference Manual pour plus d'informations.
2. Assurez-vous que le lien entre le FPGA et le contrôleur HPS DDR est désactivé lors de la reprogrammation.
3. Assurez-vous que les interruptions FPGA sur le FPGA sont désactivées pendant la reprogrammation.
Demandez également au pilote de rejeter toute interruption du FPGA lors de la reprogrammation.
Consultez le code source de l'utilitaire du programme pour plus de détails sur l'implémentation réelle.
Avertissement: Ne modifiez pas la configuration du contrôleur HPS DDR lorsque le processeur est en cours d'exécution.
Cela pourrait entraîner une erreur système fatale, car vous pourriez modifier la configuration du contrôleur DDR lorsqu'il y a des transactions mémoire en attente de la CPU. Cela signifie que lorsque le processeur est en cours d'exécution, vous ne pouvez pas reprogrammer le cœur FPGA avec une image qui utilise HPS DDR dans une configuration différente.
N'oubliez pas que le système OpenCL et la conception de référence Golden Hardware disponible avec la suite de conception intégrée Intel SoC FPGA (EDS) définissent le HPS DDR dans un mode 256 bits unique.
Les composants du système CPU tels que le prédicteur de branche ou le préchargeur de table de pages peuvent émettre des commandes DDR même s'il semble que rien ne fonctionne sur le CPU.
Par conséquent, le temps de démarrage est le seul moment sûr pour définir la configuration du contrôleur HPS DDR.
Cela implique également que U-boot doit avoir un binaire brut file (.rbf) à charger en mémoire. Sinon, vous pourriez activer le HPS DDR avec des ports inutilisés sur le FPGA, puis éventuellement modifier les configurations de port par la suite. Pour cette raison, le pilote du noyau OpenCL Linux n'inclut plus la logique nécessaire pour définir la configuration du contrôleur HPS DDR.
Les commutateurs SW3 du boîtier en ligne double (DIP) du kit de développement Cylone V SoC contrôlent la forme attendue de l'image .rbf (c'est-à-dire si le file est compressé et/ou crypté). C5soc et le Golden Hardware Reference Design disponible avec le SoC EDS incluent des images .rbf compressées mais non chiffrées. Les paramètres du commutateur DIP SW3 décrits dans le Guide de démarrage du SDK Intel FPGA pour OpenCL Cyclone V SoC correspondent à cette configuration d'image .rbf.
Liens connexes
- Interfaces HPS-FPGA
- Configuration des commutateurs SW3
1.4.1 Détails de l'architecture du système FPGA
La prise en charge de la plate-forme de référence du kit de développement Cyclone V SoC est basée sur la plate-forme de référence Stratix® V (s5_ref), disponible avec le SDK Intel FPGA pour OpenCL.
L'organisation générale du système c5soc Qsys et le pilote du noyau sont très similaires à ceux de s5_ref.
Les composants de base FPGA suivants sont les mêmes dans c5soc et s5_ref :
- Bloc VERSION_ID
- Mécanisme de repos
- Séparateur de banque de mémoire
- Interface de surveillance du cache
- Horloge du noyau
- Blocs d'accès au registre de contrôle (CRA)
1.5 Création d'une image de carte flash SD
Étant donné que le FPGA Cyclone V SoC est un système complet sur puce, vous êtes responsable de fournir la définition complète du système. Intel vous recommande de le fournir sous la forme d'une image de carte flash SD. L'utilisateur du SDK Intel FPGA pour OpenCL peut simplement écrire l'image sur la carte flash micro SD et la carte SoC FPGA est prête à l'emploi.
Modification d'une image de carte flash SD existante à la page 13
Intel vous recommande de modifier simplement l'image disponible avec la plate-forme de référence du kit de développement Cyclone V SoC. Vous avez également la possibilité de créer une nouvelle image de carte flash SD.
Création d'une image de carte flash SD à la page 14
Vous avez également la possibilité de créer une nouvelle image de carte flash SD.
1.5.1 Modification d'une image de carte flash SD existante
Intel vous recommande de modifier simplement l'image disponible avec le SoC Cyclone V
Plateforme de référence du kit de développement. Vous avez également la possibilité de créer une nouvelle image de carte flash SD.
L'image c5soc linux_sd_card_image.tgz file est disponible dans le répertoire ALTERAOCLSDKROOT/board/c5soc, où ALTERAOCLSDKROOT pointe vers le chemin du SDK Intel FPGA pour le répertoire d'installation d'OpenCL.
Attention: Pour modifier l'image de la carte flash SD, vous devez disposer des privilèges root ou sudo.
- Pour décompresser $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz file, exécutez la commande tar xvfzlinux_sd_card_image.tgz.
- Compiler l'ex hello_world OpenCLampconception de fichiers à l'aide de votre support de plate-forme personnalisée. Renommer le .rbf file que le SDK Intel FPGA pour le compilateur hors ligne OpenCL génère en tant que opencl.rbf, et placez-le sur la partition fat32 dans l'image de la carte flash SD.
Vous pouvez télécharger l'ex hello_worldample design de l'OpenCL Design Exampla page sur l'Altera website. - Placez le .rbf file dans la partition fat32 de l'image de la carte flash.
Attention: La partition fat32 doit contenir à la fois le zImage file et le .rbf file. Sans .rbf file, une erreur fatale se produit lorsque vous insérez le pilote. - Après avoir créé l'image de la carte SD, écrivez-la sur une carte micro SD en appelant la commande suivante : sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
- Pour tester l'image de votre carte flash SD, effectuez les tâches suivantes :
un. Insérez la carte flash micro SD dans la carte SoC FPGA.
b. Mettez la carte sous tension.
c. Appelez la commande de l'utilitaire de diagnostic aocl.
1.5.2 Création d'une image de carte flash SD
Vous avez également la possibilité de créer une nouvelle image de carte flash SD. Des instructions génériques sur la création d'une nouvelle image de carte flash SD et la reconstruction d'une image de carte flash SD existante sont disponibles sur la page GSRD v14.0.2 - Carte SD de RocketBoards.org website.
Les étapes ci-dessous décrivent la procédure de création de l'image linux_sd_card_image.tgz à partir de l'image de la carte flash SD Golden System Reference Design (GSRD) :
Note:
Pour créer l'image à partir de l'image c5soc, effectuez toutes les tâches applicables décrites dans cette procédure.
- Téléchargez et décompressez la version 14.0 de l'image de la carte flash SD GSRD sur Rocketboards.org.
- Montez le file table d'allocation (fat32) et étendue file partitions système (ext3) dans cette image en tant que périphériques de bouclage. Pour monter une partition, procédez comme suit :
un. Déterminez le début d'octet de la partition dans l'image en appelant /sbin/fdisk -lu image_file commande.
Par exempleample, la partition numéro 1 de type W95 FAT a un décalage de bloc de 2121728. Avec 512 octets par bloc, le décalage d'octet est de 512 octets x 2121728 = 1086324736 octets.
b. Identifiez un périphérique de boucle libre (par ex.ample, /dev/loop0) en tapant la commande losetup -f.
c. En supposant que /dev/loop0 est le périphérique de boucle libre, affectez votre image de carte flash au périphérique de bloc de boucle en appelant le losetup /dev/loop0 image_file -0 1086324736 commande.
ré. Montez le périphérique de boucle en appelant la commande mount /dev/loop0 /media/disk1.
Dans l'image file, /media/disk1 est maintenant une partition fat32 montée.
e. Répétez les étapes a à d pour la partition ext3. - Téléchargez la version Cyclone V SoC FPGA du package Intel FPGA Runtime Environment for OpenCL à partir du centre de téléchargement sur Altera website.
un. Cliquez sur le bouton Télécharger à côté de l'édition du logiciel Quartus Prime.
b. Spécifiez la version, le système d'exploitation et la méthode de téléchargement.
c. Cliquez sur l'onglet Logiciels supplémentaires et sélectionnez pour télécharger Intel FPGA
Environnement d'exécution pour OpenCL Linux Cyclone V SoC TGZ.
d. Après avoir téléchargé le fichier aocl-rte- .arm32.tgz file, déballez-le pour
un répertoire qui vous appartient. - Placez l'aocl-rte- déballé répertoire .arm32 dans le répertoire /home/root/opencl_arm32_rte sur la partition ext3 de l'image file.
- Supprimez le ou les dossiers matériels de votre plate-forme personnalisée, puis placez la plate-forme personnalisée dans le sous-répertoire board de /home/root/opencl_arm32_rte.
- Créez le fichier init_opencl.sh file dans le répertoire /home/root avec le contenu suivant : export ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte export AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ export PATH=$ALTERAOCLSDKROOT/bin :$PATH export LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib :$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
L'utilisateur du SDK exécute la commande source ./init_opencl.sh pour charger les variables d'environnement et le pilote du noyau Linux OpenCL. - Si vous devez mettre à jour le préchargeur, le DTS files, ou le noyau Linux, vous avez besoin du compilateur arm-linux-gnueabihf-gcc du SoC EDS. Suivez les instructions décrites dans le Guide de l'utilisateur d'Intel SoC FPGA Embedded Design Suite pour acquérir le logiciel, le recompiler et mettre à jour le files sur la partition fat32 montée.
Attention: Il est fort probable que vous deviez mettre à jour le préchargeur si votre plate-forme personnalisée a des utilisations de broches différentes de celles de c5soc.
N'oubliez pas : si vous recompilez le noyau Linux, recompilez le pilote du noyau Linux avec la même source du noyau Linux files. S'il y a une incompatibilité entre le pilote du noyau Linux et le noyau Linux, le pilote ne se chargera pas. De plus, vous devez activer le CMA.
Reportez-vous à Recompilation du noyau Linux pour plus d'informations. - Compiler l'ex hello_world OpenCLampconception de fichiers à l'aide de votre support de plate-forme personnalisée. Renommer le .rbf file que le SDK Intel FPGA pour le compilateur hors ligne OpenCL génère en tant que opencl.rbf, et placez-le sur la partition fat32 dans l'image de la carte flash SD.
Vous pouvez télécharger l'ex hello_worldample design de l'OpenCL Design Exampla page sur l'Altera website.
9. Après avoir stocké tout le nécessaire files sur l'image de la carte flash, appelez les commandes suivantes :
un. synchroniser
b. démonter /media/disk1
c. démonter où est le nom du répertoire que vous utilisez pour monter la partition ext3 dans 3 à la page 3 (par exampfichier, /media/disk2).
ré. losetup -d /dev/loop0
e. losetup -d /dev/loop1 - Compressez l'image de la carte flash SD en appelant la commande suivante : tar cvfz .tgz linux_sd_card_image
- Livrer le .tgz file dans le répertoire racine de votre plate-forme personnalisée.
- Pour tester l'image de votre carte flash SD, effectuez les tâches suivantes :
un. Écrivez l'image non compressée résultante sur une carte flash micro SD.
b. Insérez la carte flash micro SD dans la carte SoC FPGA.
c. Mettez la carte sous tension.
ré. Appelez la commande de l'utilitaire de diagnostic aocl.
Liens connexes
- Guide de l'utilisateur de la suite de conception intégrée Intel SoC FPGA
- Ex de conception OpenCLampla page sur l'Altera website
- Recompilation du noyau Linux à la page 16
Pour activer le CMA, vous devez d'abord recompiler le noyau Linux. - Interrogation du nom de périphérique de votre carte FPGA (diagnostic)
1.6 Compilation du noyau Linux pour Cyclone V SoC FPGA
Avant d'exécuter des applications OpenCL sur la carte FPGA Cyclone V SoC, vous devez compiler la source du noyau Linux, puis compiler et installer le pilote du noyau Linux OpenCL.
- Recompilation du noyau Linux à la page 16
Pour activer le CMA, vous devez d'abord recompiler le noyau Linux. - Compilation et installation du pilote du noyau Linux OpenCL à la page 17 Compilez le pilote du noyau Linux OpenCL par rapport à la source du noyau compilé.
1.6.1 Recompilation du noyau Linux
Pour activer le CMA, vous devez d'abord recompiler le noyau Linux.
- Cliquez sur le lien GSRD v14.0 – Compiling Linux sur la page Resources de RocketBoards.org website pour accéder aux instructions de téléchargement et de reconstruction du code source du noyau Linux.
Pour une utilisation avec le™ Intel FPGA SDK pour OpenCL, spécifiez socfpga-3.13-rel14.0 comme . - Remarque : Le processus de construction crée le fichier arch/arm/configs/socfpga_defconfig file. Ce file spécifie les paramètres de la configuration par défaut de socfpga.
Ajoutez les lignes suivantes au bas de l'arch/arm/configs/socfpga_defconfig file.
CONFIG_MEMORY_ISOLATION=o
CONFIG_CMA=o
CONFIG_DMA_CMA=oui
CONFIG_CMA_DEBUG=oui
CONFIG_CMA_SIZE_MBYTES=512
CONFIG_CMA_SIZE_SEL_MBYTES=oui
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
La valeur de configuration CONFIG_CMA_SIZE_MBYTES définit la limite supérieure du nombre total de mémoire physiquement contiguë disponible. Vous pouvez augmenter cette valeur si vous avez besoin de plus de mémoire. - Attention: La quantité totale de mémoire physique disponible pour le processeur ARM sur la carte SoC FPGA est de 1 Go. Intel déconseille de définir le gestionnaire CMA à près de 1 Go.
- Exécutez la commande make mrproper pour nettoyer la configuration actuelle.
- Exécutez la commande make ARCH=arm socfpga_deconfig.
ARCH=arm indique que vous souhaitez configurer l'architecture ARM.
socfpga_defconfig indique que vous souhaitez utiliser la configuration par défaut de socfpga. - Exécutez la commande export CROSS_COMPILE=arm-linux-gnueabihf-.
Cette commande définit la variable d'environnement CROSS_COMPILE pour spécifier le préfixe de la chaîne d'outils souhaitée. - Exécutez la commande make ARCH=arm zImage. L'image résultante est disponible dans arch/arm/boot/zImage file.
- Placez le zImage file dans la partition fat32 de l'image de la carte flash. Pour des instructions détaillées, reportez-vous au Manuel de l'utilisateur GSRD spécifique au Cyclone V SoC FPGA sur Rocketboards.org.
- Remarque : Pour insérer correctement le pilote du noyau OpenCL Linux, chargez d'abord un SDKgenerated.rbf file sur le FPGA.
Pour créer le .rbf file, compilez une conception de SDK example avec la plate-forme de référence du kit de développement Cyclone V SoC comme plate-forme personnalisée ciblée.
9. Placez le .rbf file dans la partition fat32 de l'image de la carte flash.
Attention : La partition fat32 doit contenir à la fois le zImage file et le .rbf file. Sans .rbf file, une erreur fatale se produit lorsque vous insérez le pilote. - Insérez la carte micro SD programmée, qui contient l'image de la carte SD que vous avez modifiée ou créée précédemment, dans le kit de développement Cyclone V SoC, puis allumez la carte SoC FPGA.
- Vérifiez la version du noyau Linux installé en exécutant la commande uname -r.
- Pour vérifier que vous avez correctement activé le CMA dans le noyau, avec la carte SoC FPGA sous tension, exécutez la commande grep init_cma /proc/kallsyms.
CMA est activé si la sortie n'est pas vide. - Pour utiliser le noyau Linux recompilé avec le SDK, compilez et installez le pilote du noyau Linux.
Liens connexes
- Manuels d'utilisation de Golden System Reference Design (GSRD)
- Création d'une image de carte flash SD à la page 13
Étant donné que le FPGA Cyclone V SoC est un système complet sur puce, vous êtes responsable de fournir la définition complète du système.
1.6.2 Compilation et installation du pilote du noyau Linux OpenCL
Compilez le pilote du noyau Linux OpenCL avec la source du noyau compilé.
La source du pilote est disponible dans la version Cyclone V SoC FPGA de l'environnement d'exécution Intel FPGA pour OpenCL. De plus, assurez-vous que vous avez chargé un SDK Intel FPGA pour .rbf généré par OpenCL file dans le FPGA pour empêcher une installation incorrecte du module du noyau Linux.
- Téléchargez la version Cyclone V SoC FPGA du package Intel FPGA Runtime Environment for OpenCL à partir du centre de téléchargement sur Altera website.
un. Cliquez sur le bouton Télécharger à côté de l'édition du logiciel Quartus Prime.
b. Spécifiez la version, le système d'exploitation et la méthode de téléchargement.
c. Cliquez sur l'onglet Logiciels supplémentaires et sélectionnez pour télécharger Intel FPGA
Environnement d'exécution pour OpenCL Linux Cyclone V SoC TGZ.
d. Après avoir téléchargé le fichier aocl-rte- .arm32.tgz file, déballez-le pour
un répertoire qui vous appartient.
La source du pilote se trouve dans le fichier aocl-rte- .arm32/board/c5soc/ répertoire du pilote. - Pour recompiler le pilote du noyau OpenCL Linux, définissez la valeur KDIR dans le Make du pilote.file dans le répertoire contenant la source du noyau Linux files.
- Exécutez la commande export CROSS_COMPILE=arm-linux-gnueabihf- pour indiquer le préfixe de votre chaîne d'outils.
- Exécutez la commande make clean.
- Exécutez la commande make pour créer aclsoc_drv.ko file.
- Transférez le répertoire opencl_arm32_rte sur la carte FPGA Cyclone V SoC.
Exécution de scp -r root@votre-adresse-ip : La commande place l'environnement d'exécution dans le répertoire /home/root. - Exécutez le script init_opencl.sh que vous avez créé lors de la création de l'image de carte SD.
- Appelez la commande de l'utilitaire de diagnostic aocl. L'utilitaire de diagnostic renverra un résultat satisfaisant après avoir exécuté init_opencl.sh avec succès.
1.7 Problèmes connus
Actuellement, il existe certaines limitations sur l'utilisation du SDK Intel FPGA pour OpenCL avec la plate-forme de référence du kit de développement Cyclone V SoC.
- Vous ne pouvez pas remplacer les noms de fournisseur et de carte signalés par les chaînes CL_DEVICE_VENDOR et CL_DEVICE_NAME de l'appel clGetDeviceInfo().
- Si l'hôte alloue de la mémoire constante dans le système DDR partagé (c'est-à-dire HPS DDR) et qu'il modifie la mémoire constante après l'exécution du noyau, les données en mémoire peuvent devenir obsolètes. Ce problème survient parce que le cœur FPGA ne peut pas espionner les transactions DDR entre CPU et HPS.
Pour empêcher les exécutions ultérieures du noyau d'accéder à des données obsolètes, implémentez l'une des solutions de contournement suivantes :
• Ne modifiez pas la mémoire constante après son initialisation.
• Si vous avez besoin de plusieurs ensembles de données __constant, créez plusieurs mémoires tampons constantes.
• Si disponible, allouez de la mémoire constante dans le FPGA DDR sur votre carte accélératrice. - L'utilitaire SDK sur ARM ne prend en charge que les commandes de programme et d'utilitaire de diagnostic.
Les commandes des utilitaires flash, install et uninstall ne s'appliquent pas au kit de développement Cyclone V SoC pour les raisons suivantes :
un. L'utilitaire d'installation doit compiler le pilote du noyau Linux aclsoc_drv et l'activer sur le FPGA SoC. La machine de développement doit effectuer la compilation ; cependant, il contient déjà les sources du noyau Linux pour le FPGA SoC. Les sources du noyau Linux pour la machine de développement sont différentes de celles du FPGA SoC. L'emplacement des sources du noyau Linux pour le FPGA SoC est probablement inconnu de l'utilisateur du SDK. De même, l'utilitaire de désinstallation n'est pas non plus disponible pour le kit de développement Cyclone V SoC.
De plus, fournir aclsoc_drv à la carte SoC est difficile car la distribution par défaut du kit de développement Cyclone V SoC ne contient pas le noyau Linux inclus. files ou le compilateur GNU Compiler Collection (GCC).
b. L'utilitaire flash nécessite de placer un .rbf file d'une conception OpenCL sur la partition FAT32 de la carte flash micro SD. Actuellement, cette partition n'est pas montée lorsque l'utilisateur du SDK allume la carte. Par conséquent, la meilleure façon de mettre à jour la partition consiste à utiliser un lecteur de carte flash et la machine de développement. - Lors du basculement entre l'exécutable du SDK Intel FPGA pour le compilateur hors ligne OpenCL files (.aocx) qui correspondent à différentes variantes de carte (c'est-à-dire, c5soc et c5soc_shareonly), vous devez utiliser l'utilitaire de programme du SDK pour charger le .aocx file pour la nouvelle variante de carte pour la première fois. Si vous exécutez simplement l'application hôte en utilisant une nouvelle variante de carte mais que le FPGA contient l'image d'une autre variante de carte, une erreur fatale peut se produire.
- Le .qxp file n'inclut pas les affectations de partition d'interface car le logiciel Quartus Prime répond systématiquement aux exigences de synchronisation de cette partition.
- Lorsque vous mettez la carte sous tension, son adresse de contrôle d'accès au support (MAC) est définie sur un nombre aléatoire. Si votre stratégie LAN n'autorise pas ce comportement, définissez l'adresse MAC en effectuant les tâches suivantes :
un. Lors de la mise sous tension de U-Boot, appuyez sur n'importe quelle touche pour accéder à l'invite de commande U-Boot.
b. Tapez setenv ethaddr 00:07:ed:00:00:03 à l'invite de commande.
Vous pouvez choisir n'importe quelle adresse MAC.
c. Tapez la commande saveenv.
ré. Redémarrez la carte.
1.8 Historique de révision des documents
Tableau 1.
Documenter l'historique de révision du SDK Intel FPGA pour le SoC OpenCL Cyclone V
Guide de portage de la plate-forme de référence du kit de développement
Date | Version | Changements |
17 mai | 2017.05.08 | • Autorisation de maintenance. |
Octobre 2016 | 2016.10.31 | • Modification de la marque Altera SDK pour OpenCL en Intel FPGA SDK pour OpenCL. • Compilateur hors ligne Altera renommé en SDK Intel FPGA pour le compilateur hors ligne OpenCL. |
16 mai | 2016.05.02 | • Instructions modifiées sur la construction et la modification d'une image de carte flash SD. •Instructions modifiées sur la recompilation du noyau Linux et du pilote du noyau OpenCL Linux. |
November-15 | 2015.11.02 | • Version de maintenance et modification des instances de Quartus II en Quartus Prime. |
15 mai | 15.0.0 | • Dans la reconfiguration FPGA, suppression de l'instruction pour reprogrammer le cœur FPGA avec un . image rbf en invoquant le chat filenom>. RBF > /dev/ fpga0 car cette méthode n'est pas recommandée. |
Décembre-14 | 14.1.0 | •Renommé le document en tant que Guide de portage de la plate-forme de référence du kit de développement Altera Cyclone V SoC. • Mise à jour de l'utilitaire de reprogrammation du programme aoclfilecommande de l'utilitaire nom>.aocx. • Mise à jour de l'utilitaire de diagnostic pour le diagnostic aocl et le diagnostic aocl commande utilitaire. • Mise à jour de la procédure dans la section Portage de la plate-forme de référence sur votre carte SoC pour inclure des instructions sur le portage et la modification de la partition de la carte c5soc afin de créer une partition propre pour le flux de fermeture de synchronisation garanti. • Insertion de la rubrique Mise à jour d'une plate-forme de référence portée pour décrire les procédures des tâches suivantes : 1. Excluant le bloc du système de processeur dur (HPS) dans la partition de la carte 2. Mise à jour de l'image de la carte flash SD • Mise à jour de la section Création d'une image de carte flash SD. Il est recommandé d'utiliser la version 14.0 de l'image Golden System Reference Design (GSRD) comme point de départ au lieu de l'image disponible avec SoC Embedded Design Suite (EDS). • Mise à jour de la section Recompilation du noyau Linux et du pilote du noyau Linux OpenCL : 1.Instruction ajoutée pour définir la variable CROSS COMPILE. 2. Modifiez la commande que vous exécutez pour vérifier que le CMA est activé avec succès. |
14 juillet | 14.0.0 | •Première version. |
Documents / Ressources
![]() |
SDK Intel FPGA pour OpenCL [pdf] Guide de l'utilisateur SDK FPGA pour OpenCL, SDK FPGA, SDK pour OpenCL, SDK |