L'adresse IP matérielle configurable Flex Logix pour les charges de travail AI et DSP fusionne les FPGA, les unités de tension et les logiciels

Nouvelles

MaisonMaison / Nouvelles / L'adresse IP matérielle configurable Flex Logix pour les charges de travail AI et DSP fusionne les FPGA, les unités de tension et les logiciels

Nov 11, 2023

L'adresse IP matérielle configurable Flex Logix pour les charges de travail AI et DSP fusionne les FPGA, les unités de tension et les logiciels

Aujourd'hui, nous allons parler d'IA, de DSP, de FPGA, d'IP et de SoC. Normalement, ces

Aujourd'hui, nous allons parler d'IA, de DSP, de FPGA, d'IP et de SoC. Normalement, ces choses ne vont pas toutes ensemble. Certes, les FPGA ont été utilisés pour implémenter des algorithmes AI et DSP, bien que les algorithmes AI et DSP impliquent généralement différents types de calculs. (Voir "Une brève histoire du DSP à puce unique, partie II".) Les conceptions DSP sont restées en grande partie avec les implémentations FPGA, grâce à la richesse des multiplicateurs/accumulateurs (MAC) qu'ils fournissent, tandis que la formation à l'IA a migré vers les GPU. Ces jours-ci, l'inférence de l'IA s'est déplacée vers plusieurs implémentations matérielles, notamment des processeurs augmentés, des puces dédiées, des moteurs d'IA spécialement conçus pour les SoC et même des FPGA. Maintenant, Flex Logix a introduit une autre alternative : une adresse IP matérielle configurable spécialement conçue pour exécuter les charges de travail AI et DSP.

Fondé en 2014, Flex Logix n'est pas un nouveau venu dans l'IP matérielle configurable. La société propose des tuiles IP et des logiciels EFLEX Embedded FPGA (eFPGA) depuis près d'une décennie. Selon Geoff Tate, co-fondateur et PDG de Flex Logix, la société compte désormais plusieurs clients liés à la défense et plus d'une demi-douzaine de clients commerciaux avec 23 puces différentes en production à haut volume qui intègrent des eFPGA EFLEX. Des exemples de tels dispositifs vont d'un SoC 5G MIMO haut de gamme d'un client anonyme qui intègre un eFPGA 100K-LUT (table de consultation) ainsi que plusieurs frontaux numériques d'émission et de réception pour l'interface d'antenne MIMO à une nouvelle gamme de petits et peu coûteux Renesas ForgeFPGA avec des LUT de 1K à 4K qui peuvent coûter moins de 50 centimes en volume.

Figure 1 : Les petits FPGA Renesas Forge peu coûteux sont basés sur Flex Logix FPGA IP et les outils de développement sont basés sur les outils fournis par Flex Logix. Crédit image : Flex Logix

Les ForgeFPGA de Renesas retracent leur lignée aux appareils Silego, sur lesquels mon ami et collègue Max Maxfield a déjà écrit. (Voir "Il ne s'est pas passé grand-chose, ou l'a-t-il fait ?" et "Renesas annonce la fabuleuse famille ForgeFPGA".) Dialog Semiconductor a acheté Silego en 2017 et a été à son tour acheté par Renesas en 2021, c'est ainsi que Renesas est devenu un fournisseur de FPGA. Les petits poissons sont mangés par des poissons plus gros, qui à leur tour sont mangés par des poissons encore plus gros.

Les FPGA Renesas fournissent une version du logiciel FPGA Flex Logix directement aux développeurs pour la configuration des appareils ForceFlex, ce qui indique que Flex Logix peut fournir un logiciel utilisable directement aux développeurs de systèmes. Il s'agit d'une capacité importante lorsque vous entrez sur le marché de l'IA, où vous souhaitez permettre aux scientifiques des données et aux programmeurs sans expérience en développement matériel d'utiliser facilement vos produits.

À bien des égards, ces nouvelles tuiles matérielles Flex Logix InferX retracent leur lignée jusqu'aux tuiles eFPGA de l'entreprise. Les tuiles IP InferX sont des IP durcies, fournies par Flex Logix à un client pour un nœud de fabrication de circuits intégrés spécifique dans une fonderie spécifique. De cette façon, InferX IP ressemble à l'IP EFLEX FPGA de l'entreprise. Dans le cas de l'IP InferX, Flex Logix cible initialement le nœud de processus N5 5 nm de TSMC, mais la société affirme que tout processus FinFET est un candidat pour cette IP.

De plus, les algorithmes AI et DSP exécutent un grand nombre d'opérations de multiplication/accumulation. Les FPGA, y compris les tuiles Flex Logix eFPGA, fournissent généralement de nombreux multiplicateurs/accumulateurs pour exécuter toutes ces opérations en temps réel, mais ces MAC sont intégrés dans le tissu FPGA comme les raisins secs dans la délicieuse recette de riz au lait du vendredi soir de ma grand-mère, qui étaient relativement rares. Dans un FPGA, les MAC renforcés sont entourés par la structure d'interconnexion du FPGA pour permettre la création de tout type de pipeline d'exécution. Cependant, les algorithmes AI et DSP n'ont pas besoin de ce type de flexibilité - leurs pipelines de calcul sont beaucoup plus réguliers - de sorte que la surcharge de silicium des structures de routage d'un FPGA est superflue et peut être supprimée. Cette surcharge de silicium est importante et peut représenter jusqu'à 80 % du silicium dans la zone à l'intérieur et autour des MAC selon Tate.

Au lieu de cela, Flex Logix a pris sa conception MAC, l'a améliorée pour les opérations AI et DSP, et a créé une unité de tenseur câblée qui interconnecte un grand nombre de MAC avec une interconnexion renforcée, exactement comme un SoC serait conçu. La tuile IP matérielle InferX qui en résulte combine quatre de ces unités de tension avec des caches SRAM L2 individuels et un petit eFPGA utilisé pour configurer et interconnecter les unités de tension, comme illustré à la figure 2 ci-dessous.

Figure 2 : La tuile IP matérielle Flex Logix InferX combine quatre de ces unités de tension avec un petit eFPGA utilisé pour configurer et interconnecter les unités de tension. Crédit d'image : Flex Logix

Selon Flex Logix, les capacités de calcul de ces tuiles InferX évoluent plus ou moins linéairement, de sorte que l'équipe de développement SoC peut incorporer une tuile, quatre tuiles, huit tuiles et éventuellement plus pour répondre aux exigences de traitement du système. La figure 3 ci-dessous illustre les capacités de performance des instanciations InferX à 1, 2, 4 et 8 tuiles pour certains modèles d'IA couramment utilisés.

Figure 3 : Les développeurs SoC peuvent instancier plusieurs tuiles InferX pour atteindre le niveau de performances requis par leur application. (Remarque : IPS = Inférences par seconde.) Crédit image : Flex Logix

Comme le montre la figure 3, une seule tuile InferX peut implémenter plusieurs modèles de reconnaissance d'image AI avec différents degrés de résolution d'image. Une instanciation InferX à 2 tuiles double à peu près les performances par rapport à une implémentation à 1 tuile, et les instanciations à 4 et 8 tuiles améliorent encore les performances. Comme le montre la figure 3, l'amélioration des performances est parfois linéaire, parfois super linéaire ; et parfois c'est sous-linéaire. Les performances obtenues en augmentant le nombre de tuiles InterX dépendent de la capacité de la mémoire (une ou deux SDRAM LPDDR5), de la saturation des E/S et d'autres goulots d'étranglement au niveau du système.

Les performances requises du sous-système varient selon l'application finale, bien entendu. Une voiture de course roulant à 200 MPH a des exigences de performance de traitement d'image beaucoup plus exigeantes en termes d'inférences par seconde (IPS) qu'un robot de livraison se déplaçant à quelques miles par heure. Notez que les spécifications de performances indiquées dans la figure 3 concernent les images traitées par seconde (IPS) plutôt que les nombres TOPS (billions d'opérations par seconde) que d'autres fournisseurs utilisent comme approximation des performances réelles de l'IA. En effet, les tuiles InferX sont conçues et configurées pour des tâches dédiées en temps réel dans les équipements embarqués, elles sont donc mises à l'échelle et programmées/configurées en conséquence. Tate dit que si le client potentiel commence à poser des questions sur TOPS, alors le vendeur parle probablement au mauvais prospect. Selon Tate, ce sont les performances de modèles d'IA spécifiques qui sont importantes pour les SoC candidats aux tuiles InferX.

Le logiciel que Flex Logix fournit aux clients InferX n'expose pas la configuration FPGA ou la programmation du moteur tenseur directement aux développeurs. Au lieu de cela, le développeur commence avec un modèle d'IA formé dans un cadre d'apprentissage automatique tel que Caffe, TensorFlow, PyTorch ou mxnet. Ces modèles d'IA formés utilisent tous l'arithmétique à virgule flottante, qui n'est pas nécessaire pour l'inférence, donc la première étape de la conversion du modèle d'IA à utiliser avec la tuile InferX est un quantificateur de modèle, qui convertit les valeurs à virgule flottante en entiers 8 bits . Après cela, un compilateur de graphes et un compilateur d'opérateurs mappent le modèle sur l'architecture InferX pour émettre une configuration d'exécution InferX, que la société appelle "Softlogic", et un logiciel pilote avec des appels d'API. Étant donné que l'adresse IP matérielle d'InferX est configurable, les modèles d'IA peuvent être remplacés par de nouveaux en quelques microsecondes, d'une manière similaire à l'utilisation de superpositions logicielles pour les microprocesseurs. Pris ensemble, la société appelle collectivement la mosaïque InferX et le logiciel d'IA "InferX AI".

Pour l'instant, les applications d'intelligence artificielle peuvent se tailler la part du lion dans la presse et le battage médiatique, mais Flex Logix a constaté que l'utilisation principale de ses tuiles InferX pour le moment est pour les algorithmes DSP, qui doivent également exécuter de nombreux MAC. Ainsi, la société a créé un package similaire de tuiles InferX et de logiciels DSP, commodément appelé "InferX DSP". Selon Tate, le marché principal pour InferX DSP est le remplacement des appareils Xilinx, en particulier les FPGA Xilinx Versal et les SoC et MPSoC Zynq, qui combinent des processeurs Arm avec une structure FPGA Xilinx. Si une entreprise déploie déjà des efforts et des dépenses pour concevoir un SoC pour remplacer ces appareils Xilinx prêts à l'emploi, il y a des économies potentielles à réaliser en incorporant une ou plusieurs tuiles InferX dans le SoC pour exécuter les MAC.

Flex Logix fournit un logiciel de haut niveau qui implémente des algorithmes DSP populaires tels que les FFT, les filtres FIR et les inversions de matrice complexes. Pour InferX AI et InferX DSP, le bloc IP résultant fonctionne comme un accélérateur esclave, connecté via une interface AXI. En raison de la nature du DSP, Flex Logix peut également fournir une interface de diffusion à double port à la tuile InferX. Comme la plupart des clients DSP savent déjà de quels algorithmes leurs conceptions ont besoin, le cycle de conception global du SoC est actuellement beaucoup plus court pour les conceptions qui utilisent InferX DSP, par rapport à InferX AI, a déclaré Tate.