Présentation

Vitis Runtime Library diagram

Hôte

(x86, Power PC ou CPU ARM)

Accélérateur

(FPGA, AI Engine)

AMD Vitis™ Runtime Library

AMD Runtime Library est un composant clé de Vitis™ Unified Software Platform et de Vitis AI Development Environment, qui permet aux développeurs de déployer leurs conceptions sur des plateformes adaptables AMD, tout en continuant à utiliser des langages de programmation familiers tels que C/C++, Python et des architectures spécifiques au domaine de haut niveau tels que TensorFlow et Caffe.

AMD Runtime Library est une interface software standardisée open source qui facilite la communication entre le code d'application et les noyaux accélérés déployés sur la partie reconfigurable des cartes d'accélération Alveo basées sur PCIe, Zynq™ 7000, les plateformes intégrées Zynq UltraScale+™ MPSoC ou les plateformes d'accélération de calcul adaptatif Versal™. 

AMD Runtime Library s'exécute sur le CPU hôte. Dans le cas des plateformes intégrées, l'hôte fait référence au processeur ARM sur la plateforme AMD et, dans le cas des cartes d'accélération Alveo™, il fait référence au CPU basé sur x86 ou au CPU PowerPC sur le serveur.

Fonctionnalités

Principaux avantages

  • Aucune expertise hardware, concentration sur le développement d'applications : AMD Runtime Library élimine la nécessité de mettre en œuvre des couches de communication hardware de A à Z pour les plateformes adaptatives AMD et s'intègre aux applications software standard, ce qui rend les FPGA largement accessibles aux développeurs, sans expertise hardware.
  • Open source et flexible : AMD Runtime Library est une bibliothèque open source disponible sur GitHub sous la licence Apache-2. Les développeurs ont la possibilité d'utiliser ces bibliothèques et ces pilotes tels qu'ils sont ou de les modifier en fonction des besoins de leurs applications et plateformes personnalisées.
  • API commune sur toutes les plateformes : AMD Runtime Library offre un ensemble commun d'API permettant aux développeurs de concevoir des applications accélérées pour les déploiements edge, sur site et dans le cloud. Cela permet un portage transparent des applications entre différentes plateformes AMD en fonction de l'évolution des exigences de calcul ou des besoins de déploiement.
  • Différents niveaux d'abstraction : Des API propres à un domaine exploitées par Vitis AI, et des liaisons Python de haut niveau aux API C++ de bas niveau qui offrent un contrôle plus fin, les développeurs peuvent choisir le niveau d'abstraction dont ils ont besoin pour interagir avec AMD Runtime Library dans leurs applications.
  • Accès à Dynamic Function eXchange : AMD Runtime Library permet aux développeurs d'applications de tirer parti de Dynamic Function eXchange (DFX) pour échanger facilement différents binaires d'accélération sur les plateformes AMD, en particulier les cartes d'accélération Alveo, sans se soucier des détails de bas niveau.
  • Mise à l'échelle des ressources : Xilinx FPGA Resource Management (XRM) offre des capacités d'orchestration basées sur serveur, avec l'API Vitis Runtime Library. Cela permet à plusieurs applications de s'exécuter sur un pool de cartes d'accélérateur Alveo connectées à un serveur.

Principales fonctions

  • Téléchargement d'image FPGA : Télécharger les binaires d'accélération sur la plateforme
  • Open source et flexible : Déplacement des données entre l'hôte et les accélérateurs
  • Gestion de la carte : Récupération de carte, débogage, gestion de la consommation énergétique
  • Gestion de l'exécution : Calculs de déclenchement, de séquence et de synchronisation

Introduction