Bienvenue dans le référentiel d'exemples SDAccel. Ce référentiel contient les derniers exemples pour vous aider à démarrer avec l'optimisation d'applications ciblant les cartes d'accélération Xilinx PCIe FPGA. Tous les exemples sont prêts à être compilés et exécutés sur des cartes prises en charge par SDAccel et des partenaires de services cloud accélérés. Le référentiel est organisé comme suit :
Exemples SDAccel Git Suppose que l'utilisateur est familier avec l'environnement de base SDAccel, la configuration, la programmation et le flux de débogage. Dans le cas contraire, il est recommandé de traiter ces sujets dans les guides de l'utilisateur SDAccel :
Conseil | Version du logiciel |
---|---|
Xilinx Alvéo U200 | SDx 2019.1 |
Xilinx Alvéo U250 | SDx 2019.1 |
Xilinx Alvéo U280 | SDx 2019.1 |
Il est principalement recommandé de commencer par l'exemple Hello World qui sensibilise les nouveaux utilisateurs à la structure de base d'une application basée sur SDAccel.
Dans le cadre des capacités disponibles pour un développeur d'applications, SDAccel inclut des environnements permettant de tester l'exactitude d'une application à la fois au niveau fonctionnel logiciel et au niveau émulé matériel.
Ces modes, nommés sw_emu et hw_emu, permettent au développeur de profiler et d'évaluer les performances d'une conception avant de la compiler pour l'exécution sur carte. Il est recommandé que toutes les applications soient exécutées au moins en mode sw_emu avant d'être compilées et exécutées sur une carte FPGA.
cd <PATH TO SAMPLE APPLICATION>
make all TARGET=<sw_emu|hw_emu> DEVICE=<FPGA Platform>
où
sw_emu = software emulation
hw_emu = hardware emulation
REMARQUE : Le flux d'émulation logicielle est uniquement une vérification de l'exactitude fonctionnelle. Il n’estime pas les performances matérielles de l’application.
Le flux d'émulation matérielle est une simulation précise du cycle du matériel généré pour l'application. On s’attend donc à ce que cette simulation prenne beaucoup de temps. Il est recommandé que pour cet exemple, l'utilisateur ignore l'exécution de l'émulation matérielle ou modifie l'exemple pour travailler sur un ensemble de données réduit.
Flux d'exécution recommandé pour des exemples d'applications en émulation
Le makefile de l'application peut directement exécuter l'application avec la commande suivante :
cd <PATH TO SAMPLE APPLICATION>
make check TARGET=<sw_emu|hw_emu> DEVICE=<FPGA Platform>
où
sw_emu = software emulation
hw_emu = hardware emulation
Si l'application n'a pas été préalablement compilée, la règle check makefile compilera et exécutera l'application dans le mode d'émulation sélectionné par l'utilisateur.
La commande pour compiler l'application pour exécution sur la carte d'accélération FPGA est
cd <PATH TO SAMPLE APPLICATION>
make all DEVICE=<FPGA Platform>
La cible par défaut du makefile est de compiler pour le matériel. Par conséquent, la définition de l’option TARGETS n’est pas requise. REMARQUE : La compilation pour l'exécution d'applications dans le matériel génère une logique personnalisée pour implémenter les fonctionnalités des noyaux dans une application. Les temps de compilation matérielle varient généralement de 30 minutes à quelques heures.
Collection d'exemples destinés à enseigner aux utilisateurs les meilleures pratiques sur la façon d'utiliser différentes fonctionnalités de SDAccel et de démarrer leur propre application.
Collection d'exemples de déchargement de processeur vers des unités de calcul basées sur FPGA.
Recueil d'exemples en traitement d'image et vidéo.
Collection de bibliothèques communes utilisées dans tous les exemples pour faciliter le développement rapide du code hôte de l'application.
Collection de fonctions utilitaires utilisées dans le cadre des Makefiles dans tous les exemples. Cet ensemble comprend des règles et des scripts Makefile pour lancer des applications compilées SDAccel sur des cartes hébergées par Nimbix directement à partir du shell du terminal des développeurs.
Des cartes d'accélération FPGA ont été déployées dans le cloud. Pour plus d’informations sur la façon d’exécuter l’exemple dans un cloud spécifique, consultez les guides suivants.
Pour toute question et pour obtenir de l'aide sur n'importe quel projet de ce référentiel ou sur vos propres projets, visitez les forums SDAccel.
Pour exécuter ces exemples à l'aide de l'interface graphique SDAccel, suivez les instructions de configuration dans SDAccel GUI README