AI Engine : La réponse aux besoins de calcul des applications de nouvelle génération

Sur de nombreux marchés dynamiques et en constante évolution, tels que la 5G, les centres de données, l'automobile et l'industrie, les applications exigent une accélération de calcul toujours plus importante tout en conservant leur efficacité énergétique. La loi de Moore et la loi de Dennard ne suivant plus leurs trajectoires traditionnelles, le passage au nœud de silicium de nouvelle génération ne peut à lui seul offrir les avantages d'une réduction de la consommation et des coûts avec de meilleures performances, comme dans les générations précédentes.

En réponse à cette augmentation non linéaire de la demande des applications de nouvelle génération, telles que la formation de faisceaux sans fil et l'inférence d'apprentissage automatique, AMD a développé une technologie de traitement innovante, AI Engine, dans le cadre de l'architecture AMD Versal™.

Architecture AI Engine

Les AI Engines sont conçus comme des matrices 2D composées de plusieurs tuiles AI Engine et permettent une solution très évolutive dans l'ensemble du portefeuille Versal, allant de 10 à 100 AI Engines dans un seul appareil, répondant aux besoins de calcul d'un large éventail d'applications. Les avantages comprennent :

Plusieurs options de programmation

Pour les applications DSP hautes performances, les méthodes suivantes sont disponibles pour le codage des AI Engines (pour plus d'informations, consultez : Conception DSP AI Engine AMD Vitis™))

  • Flux basé sur C à l'aide des fonctions de la bibliothèque DSP et du codage d'API
  • Conception basée sur des modèles (à l'aide de Vitis Model Composer dans MathWorks Simulink)
  • Intrinsèque 
Pour les applications d'IA/de ML :
  • Bibliothèques robustes pour les développeurs de frameworks IA/ML
Déterministe
  • Mémoires d'instructions et de données dédiées
  • Connectivité dédiée associée à des moteurs DMA pour le déplacement programmé des données via la connectivité entre les tuiles AI Engine
Efficacité
  • Pour les applications DSP hautes performances, les AI Engines permettent une réduction dynamique de la consommation énergétique et des économies substantielles de ressources par rapport à une implémentation traditionnelle basée uniquement sur une logique programmable
Tuile AI Engine

Chaque tuile AI Engine se compose d'un mot d'instruction très long (VLIW), d'un processeur vectoriel à instruction unique/données multiples (SIMD) optimisé pour l'apprentissage automatique, et d'applications de traitement du signal avancées. Le processeur AI Engine peut fonctionner à plus de 1,3 GHz, ce qui lui permet de gérer des fonctions efficaces, à haut débit et à faible latence.

En plus du processeur vectoriel VLIW, chaque tuile contient une mémoire programme pour stocker les instructions nécessaires, une mémoire de données locale pour stocker les données, les pondérations, les activations et les coefficients, ainsi qu'un processeur scalaire RISC et différents modes d'interconnexion pour gérer différents types de communication de données.

Charges de travail hétérogènes : Accélération de l'inférence pour le traitement du signal et l'apprentissage automatique

AMD propose deux types d'AI Engines : AIE et AIE-ML (AI Engine pour l'apprentissage automatique), qui offrent tous deux des améliorations significatives des performances par rapport aux FPGA de la génération précédente. AIE accélère un ensemble plus équilibré de charges de travail, y compris les applications d'inférence ML et les charges de travail de traitement de signaux DSP haute performance telles que la formation de faisceaux, les radars et d'autres charges de travail nécessitant une quantité massive de filtrage et de transformations. Avec des extensions vectorielles d'IA améliorées et l'introduction de tuiles de mémoire partagée dans la matrice AI Engine, AIE-ML offre des performances supérieures à celles d'AIE pour les applications axées sur l'inférence ML, tandis qu'AIE peut offrir de meilleures performances qu'AIE-ML pour certains types de traitement de signaux avancés.

AI Engine Diagram Workloads
Tuile AI Engine

AIE accélère un ensemble équilibré de charges de travail, y compris les applications d'inférence ML et les charges de travail de traitement avancé du signal telles que la formation de faisceaux, les radars, les FFT et les filtres.

Prise en charge de nombreuses charges de travail/applications​
  • DSP hautes performances pour les communications, les radars, les tests et mesures, les applications industrielles/automobiles
  • Traitement d'images et de vidéos
  • Inférence dans l'apprentissage automatique
Prise en charge native des types de données réels, complexes et à virgule flottante
  • Virgule fixe INT8/16/32
  • Virgule fixe complexe CINT16 et CINT32
  • Virgule flottante de données FP32
Fonctionnalités hardware dédiées pour les implémentations FFT et FIR
  • MAC 128 INT8 par tuile​

Voir le Manuel d'architecture AI Engine AMD Versal pour en savoir plus.​

OP par tuile AIE
INT4
256
INT8
256
INT16
64
CINT16
16 16
BFLOAT16*
16
FP32
16 16

*BFLOAT16 implémenté à l'aide d'un processeur vectoriel FP32.

Tuile AI Engine-ML

L'architecture AI Engine-ML est optimisée pour l'apprentissage automatique, améliorant à la fois l'architecture du cœur de calcul et de la mémoire. Capables à la fois de traiter le ML et les signaux avancés, ces tuiles optimisées limitent l'importance de la prise en charge d'INT32 et de CINT32 (courante dans le traitement radar) pour améliorer les applications axées sur le ML.

AIE-ML sera disponible en deux versions : AIE-ML, qui double le calcul par rapport à AIE, et AIE-MLv2, qui double le calcul par rapport à AIE-ML et ajoute une bande passante supplémentaire entre les interconnexions de flux.

Prise en charge native étendue des types de données ML
  • BFLOAT16
  • FP8 (AIE-MLv2 uniquement)
  • FP16 (AIE-MLv2 uniquement)
  • MX4 (AIE-MLv2 uniquement)
  • MX6 (AIE-MLv2 uniquement)
  • MX9 (AIE-MLv2 uniquement)
Calcul ML accru avec temps de latence réduit
  • 256 MAC INT8/cycle par tuile dans AIE-ML
  • 512 MAC INT8/cycle par tuile dans AIE-MLv2
Augmentation de la mémoire de matrice pour localiser les données
  • Doublement de la mémoire de données locale par tuile (64 Ko)
  • Tuiles mémoire (512 Ko) pour un accès mémoire partagé à large bande passante
OP par tuile AIE-ML
INT4
1024
INT8
512
INT16
128
CINT16
16
BFLOAT16
256
FP32**
42

**Émulation SW pour la prise en charge d'AIE-ML FP32.

Partie intégrante d'une plateforme hétérogène

L'AI Engine, associé à une logique programmable et à un système de traitement, forme une architecture hétérogène étroitement intégrée dans les SoC adaptatifs Versal, qui peut être modifiée aux niveaux hardware et software pour s'adapter de manière dynamique aux besoins d'un large éventail d'applications et de charges de travail.

Conçue dès le départ pour être programmable par software, l'architecture Versal dispose d'un Network on Chip (NoC) flexible et programmable à plusieurs térabits par seconde pour intégrer de manière fluide tous les composants et interfaces clés, ce qui garantit la disponibilité de la plateforme au démarrage et sa facilité de programmation par les développeurs de software, les spécialistes des données et les développeurs de hardware.

Applications

AI Engines pour les charges de travail hétérogènes - Du traitement sans fil à l'apprentissage automatique dans le cloud, le réseau et l'edge

Calcul dans le centre de données

L'analyse d'images et de vidéos est au cœur de l'explosion des données dans le centre de données. La nature du réseau neuronal convolutif (CNN) de ces charges de travail nécessite des quantités massives de calcul, atteignant souvent plusieurs téraOPS. Les AI Engines ont été optimisés pour fournir cette densité de calcul de manière rentable et efficace.

Traitement sans fil 5G

La 5G permet d'atteindre un débit sans précédent avec un temps de latence extrêmement faible, ce qui nécessite une augmentation significative du traitement du signal. Les AI Engines permettent d'exécuter ce traitement du signal en temps réel dans l'unité radio (RU) et l'unité distribuée (DU) avec une consommation énergétique réduite, comme avec les techniques sophistiquées de formation de faisceaux utilisées dans les panneaux MIMO massifs pour augmenter la capacité du réseau.

ADAS et conduite automatisée

Les CNN (Convolutional Neural Networks) sont une catégorie de réseaux neuronaux artificiels profonds à action directe, le plus souvent utilisés pour analyser des images visuelles. Les CNN sont devenus essentiels, car les ordinateurs sont utilisés partout, des véhicules autonomes à la vidéosurveillance. Les AI Engines fournissent la densité de calcul et l'efficacité nécessaires pour les petits formats avec des enveloppes thermiques restreintes.  ​

Aérospatiale et défense

La fusion de moteurs DSP vectoriels performants avec des AI Engines dans un petit format permet de développer une large gamme de systèmes dans les domaines de l'aérospatiale et de la défense, notamment les radars à balayage électronique, l'alerte avancée (EW), les communications militaires (MILCOM) et les véhicules sans pilote. Prenant en charge des charges de travail hétérogènes allant du traitement et du conditionnement des signaux à l'AI Inference pour les charges utiles multi-missions, les AI Engines offrent l'efficacité de calcul nécessaire pour répondre aux exigences strictes de ces systèmes critiques en matière de taille, de poids et de puissance (SWaP).

Industrie

Les applications industrielles, notamment la robotique et la vision industrielle, combinent la fusion de capteurs avec l'IA/ML pour effectuer le traitement des données à la source et à proximité de la source d'information. Les AI Engines améliorent les performances et la fiabilité de ces systèmes en temps réel, malgré l'incertitude de l'environnement.

Équipement de test sans fil

Le DSP en temps réel est largement utilisé dans les équipements de test des communications sans fil. L'architecture AI Engine est parfaitement adaptée à la gestion de tous les types d'implémentation de protocoles, y compris la 5G, du front-end numérique à la bande de base, en passant par la formation de faisceaux.

Santé

Les applications médicales qui exploitent les AI Engines comprennent les dispositifs de formation de faisceaux parallèles à hautes performances pour les échographies médicales, la rétroprojection pour les scanners CT, le délestage de la reconstruction d'images dans les équipements IRM et le diagnostic assisté dans diverses applications cliniques et diagnostiques.

Flux de développement AI Engine

Les AI Engines sont conçus dès le départ pour être programmables par software et adaptables via hardware. Il existe deux flux de conception distincts permettant aux développeurs de tirer parti des performances de ces moteurs de calcul, avec une capacité de compilation en quelques minutes et d'exploration rapide de différentes microarchitectures. Ces deux flux de conception sont les suivants :

  • Vitis™ Unified IDE pour la programmation de style C/C++, adapté aux développeurs de software et de hardware
  • Vitis Model Composer pour un flux de conception basé sur des modèles qui fonctionne comme un plug-in dans MathWorks Simulink®
  • Vitis AI pour un flux basé sur un framework IA/ML, ciblant les spécialistes de l'IA et des données

Les matrices AI Engine permettent également d'implémenter des fonctions DSP hautes performances de manière optimisée en matière de ressources et de consommation énergétique. L'utilisation de moteurs d'IA en conjonction avec les ressources de la structure FPGA permet d'implémenter des applications DSP hautes performances de façon très efficace. Découvrez comment utiliser le flux d'outils AMD Vitis pour exploiter les capacités d'accélération hardware des AI Engines pour les applications DSP : Conception DSP AMD Vitis AI Engine

Bibliothèques AI Engine pour les développeurs de software/hardware et les spécialistes des données

Avec la bibliothèque Vitis Acceleration, AMD fournit des noyaux pré-construits qui offrent les avantages suivants :

  • Cycles de développement plus courts
  • Portabilité entre les architectures AI Engine (par exemple, d'AIE à AIE-ML)
  • Apprentissage et adoption plus rapides de la technologie AI Engine
  • Les concepteurs peuvent se concentrer sur leurs propres algorithmes propriétaires

Les développeurs de software et de hardware programment directement les AI Engines basés sur des processeurs vectoriels et peuvent faire appel à des bibliothèques prédéfinies avec du code C/C++, le cas échéant.

Les spécialistes des données d'IA continuent à travailler dans leurs environnements familiers, tels que PyTorch ou TensorFlow, et font appel à des superpositions ML prédéfinies via Vitis AI sans avoir à programmer directement les AI Engines.

Ces bibliothèques sont open source et disponibles sur GitHub : https://github.com/Xilinx/Vitis_Libraries.

Programmation du flux de données pour développeur software/hardware

L'architecture AI Engine est basée sur une technologie de flux de données. Les éléments de traitement se présentent sous forme de matrices de 10 à 100 tuiles, créant un programme unique à l'échelle des unités de calcul. Pour un concepteur, il serait fastidieux et presque impossible d'intégrer des directives pour spécifier le parallélisme entre ces tuiles. Pour surmonter cette difficulté, la conception AI Engine s'effectue en deux étapes : le développement d'un seul noyau suivi de la création d'un graphe ADF (Adaptive Data Flow), qui connecte plusieurs noyaux dans une application globale.

Vitis Unified IDE constitue un cockpit IDE unique qui permet le développement de noyaux AI Engine à l'aide de code de programmation C/C++ et de conception de graphes ADF. Plus précisément, les concepteurs peuvent :

  • Développer des noyaux en C/C++ et décrire des fonctions de calcul spécifiques à l'aide des bibliothèques Vitis
  • Connecter des noyaux via des graphes ADF à l'aide des outils Vitis AI Engine

Par défaut, un seul noyau s'exécute sur une seule tuile AI Engine. Cependant, plusieurs noyaux peuvent s'exécuter sur la même tuile AI Engine, partageant le temps de traitement lorsque l'application le permet.

Voici un exemple conceptuel :

  • Les noyaux AI Engine sont développés en C/C++
  • Les noyaux en logique programmable (PL) sont écrits en RTL ou en synthèse de haut niveau (HLS) Vitis 
  • Le flux de données entre les noyaux en PL et les AI Engines s'effectue via un graphique ADF
Intégration de la conception AI Engine dans un système complet

Au sein de Vitis Unified IDE, la conception AI Engine peut être incluse dans un système complet plus vaste qui combine tous les aspects de la conception en un flux intégré permettant la simulation, l'émulation hardware, le débogage et le déploiement.

  • Des compilateurs dédiés ciblent différents moteurs hétérogènes de la plateforme Versal, y compris le système de traitement (sous-système Arm®), la logique programmable, et les DSP et les AI Engines.
  • Un compilateur système relie ensuite ces blocs de code individuels et crée toutes les interconnexions nécessaires pour optimiser le mouvement des données entre eux et toutes les hiérarchies de mémoire personnalisées. La suite d'outils intègre également la chaîne d'outils x86 pour les systèmes basés sur PCIe®.
  • Pour déployer votre application, le software Xilinx Runtime (XRT) fournit des API indépendantes de la plateforme et du système d'exploitation pour gérer la configuration de l'appareil, la mémoire et les transferts de données de l'hôte vers l'appareil, ainsi que l'exécution de l'accélérateur. 
  • Après avoir assemblé votre prototype, vous pouvez simuler votre application à l'aide d'un simulateur rapide au niveau des transactions ou d'un simulateur précis au cycle près, puis utiliser un analyseur de performances pour optimiser votre application afin d'obtenir le meilleur partitionnement et les meilleures performances.
  • Lorsque vous êtes satisfait des résultats, vous pouvez procéder au déploiement sur la plateforme Versal.

Portefeuille

Série Versal™ AI Core

La série AMD Versal AI Core offre une AI Inference révolutionnaire et une accélération sans fil avec des AI Engines qui offrent des performances de calcul exceptionnelles. Dotés des capacités de calcul les plus élevées de la gamme Versal, les applications pour les SoC adaptatifs Versal AI Core comprennent le calcul pour les centres de données, la formation de faisceaux sans fil, le traitement vidéo et d'images et les équipements de test sans fil.

Série Versal™ AI Edge

La série AMD Versal AI Edge offre une AI Inference hautes performances et à faible temps de latence pour la conduite automatisée, les usines prédictives et les systèmes de soins de santé, les charges utiles multimissions dans l'aérospatiale et la défense, ainsi qu'un large éventail d'autres applications. Au-delà de l'IA, la série Versal AI Edge accélère l'ensemble des applications, des capteurs à l'IA en passant par le contrôle en temps réel, tout en répondant aux exigences critiques de sûreté et de sécurité.

Série Versal Premium

Conçue pour les applications de calcul et de transfert de données les plus exigeantes dans les domaines des communications filaires, du calcul de centre de données, des tests et mesures, de l'aérospatiale et de la défense, la série AMD Versal Premium offre une capacité de traitement adaptatif du signal exceptionnelle en intégrant des AI Engines, qui associent une logique programmable, des moteurs DSP et des blocs IP hardware pour Ethernet et la cryptographie haut débit.

AMD Versal AI Edge VEK280
Kit d'évaluation VEK280 de la série Versal AI Edge

Le kit d'évaluation VEK280, équipé du SoC adaptatif Versal AI Edge VE2802, offre des moteurs d'accélération hardware AIE-ML et DSP, ainsi que plusieurs options de connectivité haut débit. Ce kit est optimisé pour les applications d'inférence ML dans des marchés tels que l'automobile, la vision, l'aérospatiale et la défense, l'industrie, les sciences et la médecine.

AI Engine Diagram Versal AI Kit
Kit d'évaluation VCK190 de la série Versal AI Core

Le kit d'évaluation VCK190 permet aux concepteurs de développer des solutions utilisant des moteurs DSP et AI Engine capables de fournir des performances de calcul plus de 100 fois supérieures à celles des processeurs actuels de classe serveur. Avec un large éventail d'options de connectivité et des flux de développement standardisés, l'appareil VC1902 de la série Versal AI Core offre le débit d'AI Inference et de traitement du signal le plus élevé de la gamme Versal pour les applications cloud, réseau et edge.

Démarrer

La plateforme software unifiée AMD Vitis fournit des kits de développement et des bibliothèques de base complets qui utilisent la technologie d'accélération hardware.

Rendez-vous sur les référentiels GitHub Vitis et de développement AI Engine pour accéder à divers tutoriels sur AI Engine et en savoir plus sur les fonctionnalités technologiques et la méthodologie de conception.

Les outils AI Engine, à la fois compilateur et simulateur, sont intégrés à l'IDE Vitis et nécessitent une licence dédiée supplémentaire. Contactez votre représentant commercial AMD local pour plus d'informations sur l'accès aux outils et à la licence AI Engine ou remplissez le formulaire Contacter le service commercial

AMD Vitis Model Composer est un outil de conception basé sur un modèle qui permet une exploration rapide des conceptions dans les environnements Simulink® et MATLAB®. Il facilite le développement et le test de graphes ADF AI Engine au niveau du système, permettant aux utilisateurs d'incorporer des blocs RTL et HLS avec des noyaux et/ou des graphes AI Engine dans la même simulation. L'exploitation des fonctions de génération et de visualisation de signaux dans les outils Simulink et MATLAB permet aux ingénieurs DSP de concevoir et de déboguer dans un environnement familier. Pour apprendre à utiliser les Versal AI Engines avec Vitis Model Composer, rendez-vous sur la page de ressources d'AI Engine.

Basé sur la série Versal AI Core, le kit VCK190 permet aux concepteurs de développer des solutions à l'aide des AI Engines et des moteurs DSP. Ce kit d'évaluation contient tout ce dont vous avez besoin pour démarrer vos conceptions.

La carte de développement VCK5000 basée sur PCIe® est également disponible. Elle intègre le dispositif Versal AI Core avec des AI Engines, conçus pour l'AI Inference à haut débit dans le centre de données.

Pour le développement d'AIE-ML, le Kit d'évaluation VEK280, basé sur la série Versal AI Edge, permettra aux développeurs de créer des applications DSP et ML.

Les ressources de formation et d'apprentissage AMD vous offrent les compétences pratiques et les connaissances fondamentales dont vous avez besoin pour être pleinement productif dans votre prochain projet de développement de SoC adaptatif Versal. Les formations comprennent :

De la planification de la solution à l'intégration et la validation du système, AMD fournit des vues personnalisées de la longue liste de documentation du SoC adaptatif Versal afin d'optimiser la productivité des conceptions des utilisateurs. Rendez-vous sur les hubs de processus de conception de SoC adaptatif Versal pour accéder au contenu le plus récent correspondant à vos besoins de conception, ainsi que pour découvrir les capacités AI Engine et les méthodologies de conception.

Ressources

Tenez-vous au courant

Inscrivez-vous à la liste de notification sur les SoC adaptatifs et les FPGA pour recevoir les dernières actualités et mises à jour.