FPGA (Field Programmable Gate Array)
Réseau de portes programmables
De quoi s’agit-il ?
Il peut être surprenant d’apprendre que bon nombre des circuits intégrés (ou « puces électroniques ») installés dans nos PC et nos serveurs ont été conçus dès l’origine pour remplir une fonction bien précise. Ces puces sont appelées ASIC, pour « application-specific integrated circuit », ou circuit intégré propre à une application. Les premières générations de GPU en sont un excellent exemple : il s’agit d’unités de traitement conçues spécifiquement pour le rendu graphique, même si l’avènement des GPGPU a considérablement brouillé cette distinction. À l’opposé des ASIC se trouvent les FPGA, pour « field-programmable gate array », ou réseau de portes programmables. Ce circuit intégré peut être reprogrammé par le client après sa fabrication afin d’assurer différentes fonctions. Les FPGA en sont capables grâce à l’intégration de portes logiques reprogrammables dans leur architecture, ainsi qu’à une planification physique (« floorplanning ») minutieuse permettant une allocation flexible des ressources.
Pour illustrer cette idée à l’aide d’un exemple du quotidien, on peut comparer les puces ASIC aux meubles que vous avez chez vous : une chaise est conçue pour servir de chaise, une table pour servir de table, et ainsi de suite. Une puce FPGA ressemble plutôt à un meuble que vous pouvez réassembler pour en faire une chaise, une table, un lit ou une armoire : sa polyvalence est remarquable. Le seul inconvénient est que les puces FPGA sont généralement plus coûteuses que les puces ASIC, tout comme on pourrait s’y attendre d’un meuble multifonctionnel.
Pour illustrer cette idée à l’aide d’un exemple du quotidien, on peut comparer les puces ASIC aux meubles que vous avez chez vous : une chaise est conçue pour servir de chaise, une table pour servir de table, et ainsi de suite. Une puce FPGA ressemble plutôt à un meuble que vous pouvez réassembler pour en faire une chaise, une table, un lit ou une armoire : sa polyvalence est remarquable. Le seul inconvénient est que les puces FPGA sont généralement plus coûteuses que les puces ASIC, tout comme on pourrait s’y attendre d’un meuble multifonctionnel.
Pourquoi en avez-vous besoin ?
Le FPGA est principalement utilisé comme une solution de calcul adaptable et accélérée, appelée à favoriser les futures avancées technologiques dans les centres de données. Les accélérateurs basés sur un FPGA peuvent compléter les autres processeurs de votre configuration serveur grâce au calcul hétérogène ou au calcul parallèle, afin d’exécuter les tâches plus rapidement. Comme le FPGA est reprogrammable, vous pouvez également réaffecter ses fonctions pour répondre aux besoins en constante évolution d’un centre de données ou d’une salle serveurs moderne. Cette flexibilité est particulièrement utile pour développer des prototypes innovants ou intégrer des solutions de calcul prêtes à l’emploi qui réduisent votre délai de mise sur le marché (TTM).
Comment GIGABYTE peut-elle vous aider ?
GIGABYTE Technology est depuis longtemps un pionnier des applications des réseaux de portes programmables (FPGA). Au milieu des années 2000, GIGABYTE a lancé l’i-RAM, un dispositif de stockage à semi-conducteurs utilisant un FPGA Xilinx. Ces dernières années, GIGABYTE a travaillé en étroite collaboration avec les leaders du marché des FPGA, tels qu’Intel et Xilinx (acquis depuis par AMD), afin d’intégrer des accélérateurs basés sur des FPGA dans ses solutions serveur. Par exemple, les serveurs haute densité de la série H, les serveurs GPU de la série G et les serveurs rack de la série R de GIGABYTE offrent tous une densité de cartes d’accélération et une compatibilité suffisantes pour accueillir des accélérateurs FPGA. Ils constituent ainsi des solutions idéales pour le deep learning, l’inférence par IA, le calcul haute performance (HPC) et bien plus encore.