OpenCL™ - BSP - Centre d’assistance
Avis d’abandon de produits
Intel abandonne Intel® FPGA SDK pour OpenCL.™ Vous trouverez plus d’informations dans la notification d’abandon de produit (PDN2219).
La page d’assistance OpenCL BSP fournit des informations sur la planification, la conception et l’implémentation de votre OpenCL™™ BSP, ainsi que quelques conseils et astuces à des fins de débogage.
1. Modifier une conception de référence
Commencer
Pour commencer le développement de BSP, assurez-vous d’effectuer les étapes suivantes :
- Vérifiez que le SDK Intel® FPGA pour OpenCL™ et Intel® Quartus® logiciel est installé.
- Vérifiez que la version de l’outil qui correspond au BSP de référence OpenCL™ est disponible.
- Confirmez l’accès à la licence complète du logiciel Intel® Quartus®.
Sélectionner une conception de référence
Sélectionnez la conception de référence qui convient à votre plateforme personnalisée
Intel prend en charge les conceptions BSP de référence OpenCL™ pour les plates-formes suivantes. Vous pouvez également consulter le guide de portage OpenCL™ BSP pour une plateforme spécifique :
- Kit de développement PCIe* Stratix® V : consultez le guide de portage du SDK Intel® FPGA pour OpenCL™ Stratix® V
- Kit de développement PCIe Intel® Arria® 10 - Voir le guide de portage de la plateforme de référence du kit de développement FPGA Intel® FPGA SDK pour OpenCL™ Intel® Arria® 10 GX
- Kit de développement SoC Intel® Arria® 10 - Voir le guide de portage de la plateforme de référence du kit de développement SoC Intel® FPGA pour OpenCL™ Intel® Arria® 10
- Kit de développement PCIe* Intel® Stratix® 10 : consultez le guide de portage de la plateforme de référence du kit SDK Intel® FPGA pour OpenCL™ Intel® Stratix® 10 G FPGA X
Modifier une conception de référence
Commencez à modifier la conception de référence sur votre plate-forme en suivant les étapes décrites dans les guides de portage OpenCL BSP. Une fois les modifications de conception terminées, il est recommandé d’essayer de compiler votre premier noyau. Généralement, nous utilisons un noyau appelé Boardtest, qui teste différentes interfaces du BSP. Des informations sur les étapes de construction du Boardtest et du BSP générique sont mentionnées dans le guide suivant :
Guide de l’utilisateur du SDK Intel® FPGA pour OpenCL™ Custom Platform Toolkit (PDF)
Étapes recommandées pour créer un BSP :
- Compilez le Boardtest en flux « plat » pour générer un fichier « .aocx » de synchronisation fermé
- Validez le « .aocx » en exécutant le Boardtest et recoupez les attentes en matière de bande passante d’interface du test
- Commencez à travailler sur la planification d’étage pour la construction « de base » afin de créer un BSP OpenCL à temps fermé garanti
2. Planification de l’étage et fermeture du calendrier
Commencer
Dans OpenCL, nous devons travailler sur le calendrier de deux révisions différentes du projet : la révision plate et la révision de base. Une révision plate est celle sans partitions ni régions de verrouillage logique et utilise le fichier hardware/flat.qsf pour l’implémenter. Alors que la révision de base est celle qui inclut le partitionnement et les verrous logiques, et utilise le fichier hardware/base.qsf pour l’implémenter. Nous vous recommandons d’obtenir d’abord une révision plate propre dans le temps comme un bon début, puis de travailler sur le plan d’étage pour obtenir une révision de base de la conception propre dans le temps.
Pour plus de détails sur le flux de compilation, reportez-vous à la section Flux de compilation OpenCL BSP dans le Guide d’optimisation du plan d’étage du kit de prise en charge des cartes Intel® FPGA pour OpenCL™ ™.
Partition de plan d’étage
Commencez par la compilation à plat pour comprendre où tous les composants principaux du BSP sont placés naturellement (en particulier les blocs de propriété intellectuelle (IP) avec connexions E/S, tels que PCIe* ou mémoire DDR).
Pour plus d’informations à ce sujet, reportez-vous à la section Guidelines for OpenCL BSP Floorplanning dans le Guide d’optimisation du plan d’étage du kit de support Intel® FPGA SDK for OpenCL™ ™ Board Package.
Pour plus d’informations, vous pouvez également consulter le Guide de l’utilisateur de la reconfiguration partielle.
Modifier la région PR
Pendant la compilation de base, commencez par la région de verrouillage logique du noyau qui contient freeze_wrapper_inst|kernel_system_inst. Utilisez le compilateur plat et le planificateur de puces pour identifier la taille et l’emplacement du matériel BSP. Essayez de réserver plus de ressources pour le kernel_system à l’aide de la région de verrouillage logique.
Pour plus d’informations à ce sujet, reportez-vous à la section Guidelines for OpenCL BSP Floorplanning dans le Guide d’optimisation du plan d’étage du kit de support Intel® FPGA SDK for OpenCL™ ™ Board Package.
Correction des violations de synchronisation
Pour corriger les violations de synchronisation dans la conception, vous devrez peut-être ajouter des étages de pipeline entre les cœurs IP.
Pour plus de directives, consultez les liens suivants :
Contraintes de configuration/suspension
Les fichiers .failing_paths.rpt et .failing_clocks.rpt du répertoire de sortie répertorient les principales défaillances de la conception. En cas de défaillance constante de certains chemins, vous pouvez définir une contrainte de délai minimale ou maximale pour ce chemin critique dans le fichier /hardware/top.sdc.
Pour les problèmes connexes, vous pouvez vous référer à la méthode de contournement suivante sur la page Base de connaissances : Comment fermer le minutage des violations d’attente et de configuration concurrentes dans la Arria 10 ?
3. Utilitaires MMD et OpenCL™
Développement ou modification de la source MMD
La bibliothèque logicielle MMD implémente des entrées/sorties (E/S) de base entre l’hôte et la carte d’accélération et fournit des interfaces, telles que l’ouverture, la lecture et l’écriture. Le pilote de bibliothèque MMD est stocké au format Windows* 64 ou Linux* 64, et le code source est stocké dans le dossier source.
Pour plus d’informations, reportez-vous à la section Création de la bibliothèque MMD dans le Guide de l’utilisateur du Kit de développement logiciel Intel® FPGA pour OpenCL™ Custom Platform Toolkit.
Prise en charge des utilitaires
Les utilitaires OpenCL vous permettent d’effectuer l’accès à la carte à l’aide de Intel® FPGA SDK pour OpenCL™.™ Cela inclut l’installation d’aocl, la désinstallation d’aocl, le diagnostic d’aocl, le programme aocl et la mémoire flash aocl.
Pour plus d’informations, reportez-vous à la section Fournir Intel® FPGA SDK pour OpenCL Utilities Support dans le Guide de l’utilisateur du Kit de développement logiciel Intel® FPGA pour OpenCL™ ™ Custom Platform Toolkit.
Après avoir créé les utilitaires logiciels et la couche MMD, la conception matérielle doit être testée. La méthode standard consiste à générer le noyau boardtest et à l’exécuter sur la carte.
Pour plus d’informations, reportez-vous à la section Test de la conception matérielle du Guide de l’utilisateur du Kit de développement logiciel Intel® FPGA pour OpenCL™ Custom Platform Toolkit.
4. Débogage
Présentation du conseil d’administration
Cette section vous aide à résoudre les problèmes tout en présentant des kits de développement Intel® FPGA ou vos propres cartes personnalisées.
Pour connaître certains problèmes connus que vous pourriez rencontrer lors de l’affichage de vos cartes, reportez-vous aux sections suivantes de l’AN 807 : Configuration du kit de développement FPGA Intel® Arria® 10 GX pour le SDK Intel® FPGA pour OpenCL™ Remarque :
Plan d’étage et calendrier
Pour obtenir des conseils et astuces sur l’utilisation d’une zone minimale pour la logique statique et sur le fait de laisser plus d’espace pour votre noyau OpenCL, vous pouvez vous reporter au guide d’optimisation du plan d’étage AN 824: Intel® FPGA SDK for OpenCL™™ Board Support Package.
Débogage de l’exécution
Certaines variables d’environnement peuvent être définies pour obtenir davantage d’informations de débogage lors de l’exécution de l’application hôte. Il s’agit Intel® FPGA variables d’environnement spécifiques au SDK pour OpenCL™, qui peuvent aider à diagnostiquer les problèmes liés aux conceptions de plateforme personnalisées.
Le tableau suivant répertorie toutes ces variables d’environnement et les décrit en détail.
Variable d’environnement |
Description |
ACL_HAL_DEBUG |
Définissez cette variable sur une valeur comprise entre 1 et 5 pour augmenter la sortie de débogage de la couche d’abstraction matérielle (HAL), qui s’interface directement avec la couche MMD. |
ACL_PCIE_DEBUG |
Définissez cette variable sur une valeur comprise entre 1 et 10000 pour augmenter la sortie de débogage à partir du MMD. Ce paramètre de variable est utile pour confirmer que le registre d’ID de version a été lu correctement et que les cœurs IP UniPHY sont calibrés. |
ACL_PCIE_JTAG_CABLE |
Définissez cette variable pour remplacer l’argument quartus_pgm par défaut qui spécifie le numéro de câble. La valeur par défaut est le câble 1. S’il existe plusieurs Intel® FPGA Download Cable, vous pouvez spécifier un câble particulier en définissant cette variable. |
ACL_PCIE_JTAG_DEVICE_INDEX |
Définissez cette variable pour remplacer l’argument quartus_pgm par défaut qui spécifie l’index de périphérique FPGA. Par défaut, cette variable a la valeur 1. Si le FPGA n’est pas le premier périphérique de la chaîne JTAG, vous pouvez personnaliser la valeur. |
ACL_PCIE_USE_JTAG_PROGRAMMING |
Définissez cette variable pour forcer le MMD à reprogrammer le FPGA à l’aide du câble JTAG au lieu de la reconfiguration partielle. |
ACL_PCIE_DMA_USE_MSI |
Définissez cette variable si vous souhaitez utiliser MSI pour les transferts d’accès direct à la mémoire (DMA) sous Windows*. |
Débogage du robinet du signal
Les conceptions OpenCL™ ne prenant pas en charge la fonction de simulation, l’utilisation de l’analyseur logique Signal Tap est le meilleur moyen de déboguer ces conceptions.
Pour déboguer toute conception présentant un blocage du noyau ou un problème lié à l’interface mémoire ou à une défaillance de diagnostic aocl, il est recommandé d’utiliser l’analyseur logique Signal Tap.
Pour en savoir plus sur l’analyseur logique Signal Tap, reportez-vous à la section Débogage de conception avec l’analyseur logique Signal Tap du Guide de l’utilisateur des outils de débogage .
Procédez comme suit pour ajouter le fichier Signal Tap dans la conception BSP
1. Ouvrez l’interface graphique Signal Tap et ajoutez tous les signaux à analyser.
2. Enregistrez le fichier STP dans le même répertoire que le fichier de projet logiciel Intel® Quartus®.
3. Ajoutez les lignes de commande suivantes dans votre fichier flat.qsf :
- set_global_assignment -name ENABLE_SIGNALTAP activé
- set_global_assignment -name USE_SIGNALTAP_FILE <file_name>.stp
- set_global_assignment -name SIGNALTAP_FILE <file_name>.stp
4. Recompilez le noyau à partir de la ligne de commande AOCL.
Solution de base de connaissances
Intel® Arria® 10 périphériques
- Rechercher dans la base de connaissances (OpenCL™ BSP)
- Rechercher dans la base de connaissances (OpenCL)™
Intel® Stratix® 10 périphériques
Problèmes connus
5. Lectures et formation recommandées
Cours de formation OpenCL™
- Introduction au calcul parallèle avec OpenCL™ sur Intel® FPGAs
- Exécution d’OpenCL™ sur des FPGAs Intel®
- Création de plateformes personnalisées pour Intel® FPGA SDK pour OpenCL™ : sommaire du Board Support Package (BSP)
- Développer un package de prise en charge de carte OpenCL™ personnalisé (BSP)
- Cours de formation OpenCL™ Board Support Package (BSP)
- Autres formations OpenCL™
Vidéos OpenCL™
Titre |
Description |
---|---|
Cette vidéo décrit la procédure prête à l’emploi pour exécuter deux applications, OpenCL HelloWorld et OpenCL™™ fast Fourier transform (FFT) sur le SoC Cyclone® V à l’aide d’une machine Windows*. |
|
Cette vidéo décrit la procédure prête à l’emploi pour exécuter deux applications, OpenCL HelloWorld et OpenCL™™ FFT, sur le SoC Cyclone® V à l’aide d’une machine Windows*. |
|
Cette vidéo décrit la procédure prête à l’emploi pour exécuter deux applications, OpenCL HelloWorld et OpenCL™™ FFT, sur le SoC Cyclone® V à l’aide d’une machine Windows*. |
|
Cette vidéo décrit la procédure prête à l’emploi pour exécuter deux applications, OpenCL HelloWorld et OpenCL™™ FFT, sur le SoC Cyclone® V à l’aide d’une machine Windows*. |
|
Cette vidéo décrit la procédure prête à l’emploi pour exécuter deux applications, OpenCL HelloWorld et OpenCL™™ FFT, sur le SoC Cyclone® V à l’aide d’une machine Windows*. |
|
Comment empaqueter des modules/conceptions Verilog personnalisés en tant que bibliothèques OpenCL™ |
La vidéo explique pourquoi les clients pourraient potentiellement utiliser cette fonctionnalité pour avoir leurs blocs de traitement personnalisés (RTL) dans le code du noyau OpenCL™. La vidéo explique l’exemple de conception tel que les fichiers make, les fichiers de configuration, et explique le flux de compilation. La vidéo montre également une démonstration de l’exemple de conception. |
OpenCL™ sur Intel FPGA SoC FPGA (hôte Linux) – Partie 1 – Téléchargement et configuration des outils |
Cette vidéo montre comment télécharger, installer et configurer les outils nécessaires au développement de noyaux OpenCL™ et de code hôte ciblant Intel FPGA SoC FPGAs. |
Cette vidéo montre comment télécharger et compiler un exemple d’application OpenCL ciblant l’émulateur intégré à la Intel FPGA OpenCL™.™ |
|
Cette vidéo montre comment compiler le noyau OpenCL™ et le code hôte ciblant le FPGA et le processeur du FPGA SoC Cyclone® V. |
|
Cette vidéo montre comment configurer la carte SoC Cyclone® V pour exécuter l’exemple OpenCL™ et exécuter le code hôte et le noyau sur la carte. |
6. Obtenez de l’aide
Fournisseurs de services certifiés OpenCL
Intel recommande les prestataires de services certifiés suivants qui peuvent vous aider à développer un package de prise en charge des cartes OpenCL™ pour les cartes Intel® FPGA. Ces fournisseurs possèdent une vaste expérience dans le développement de packages de prise en charge de cartes OpenCL de haute qualité, de pilotes et dans la migration de conception pour les cartes Intel FPGA :
Terasic inc.
OpenCL et le logo OpenCL sont des marques commerciales d’Apple Inc. utilisées avec l’autorisation de Khronos.
Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.