GPU, NPU, FPGA, ASIC, qui est qui et qui fait quoi ?

Le CPU n’est plus seul maître du calcul dans les infrastructures. Les accélérateurs deviennent de plus en plus indispensables pour porter les nouveaux workloads de machine et deep learning. Mais comment choisir entre les différentes technologies qui apparaissent sur le marché ?     

Applications modernes, infrastructure moderne. Alors que les entreprises exploitent de plus en plus fréquemment des workloads de nouvelle génération, comme l’intelligence artificielle ou le HPDA (High Performance Data Analytics), de nouveaux composants se font une place dans les datacenters. A côté du traditionnel CPU, qui ne cesse lui aussi de gagner en performances, des accélérateurs spécialisés viennent prendre leur part du calcul afin de fournir un résultat beaucoup plus rapidement. Mais entre les différentes technologies apparues sur le marché, il est parfois difficile de faire le tri. On vous présente les principaux acteurs.

GPU, Graphics Processing Unit

Commençons par le plus connu. Le GPU a, comme son nom l’indique, été pensé au départ pour exécuter les tâches de rendu graphique que l’on retrouve dans les jeux vidéo, les applications de conception et de design ou encore la réalité virtuelle. Mais très vite, ses capacités de calcul parallèle ont tapé dans l’œil des spécialistes du machine learning.


Comme l’illustre efficacement la vidéo ci-dessus, alors que le CPU travaille de manière séquentielle, une tâche après l’autre, le GPU réalise plusieurs opérations en simultané. Il se révèle particulièrement efficace dans les travaux répétitifs, comme les phases d’apprentissage d’une IA. La nouvelle plateforme DSS 8440, dévoilée au dernier Dell Technologies Word et spécifiquement conçue pour le machine learning, peut embarquer jusqu’à 10 GPU NVIDIA Tesla V100 Tensor Core.

FPGA, Field Programmable Gate Array

Les FPGA constituent l’autre option majeure de l’accélération matérielle. Il s’agit de circuits composés de cellules qui, contrairement au CPU, peuvent être reprogrammées après fabrication. Les utilisateurs peuvent donc attribuer différentes fonctions aux cellules et redéfinir les interconnexions. Une personnalisation qui permet de servir au mieux les applications exécutées par l’organisation. Les FPGA ont également la particularité de pouvoir communiquer entre eux sans passer par le processeur. Ils offrent donc des temps de latence extrêmement faibles, particulièrement appréciés dans l’automobile par exemple, pour les véhicules autonomes, ou dans la finance, pour le trading haute fréquence. Enfin, les FPGA pouvant être adaptés très finement à leur usage, ils peuvent également fournir une grande efficacité énergétique. Là où un CPU devra exécuter plusieurs milliers d’instructions, un FPGA pourra exécuter la même fonction en seulement quelques cycles et donc consommer moins d’énergie.

ASIC, Application-Specific Integrated Circuits

L’ASIC est en quelque sorte un ancêtre du FPGA puisque ses origines remontent à quelques décennies. Il s’agit là aussi d’un circuit spécialisé pour une application, sauf que celui-ci est figé et ne pourra être utilisé que pour le workload pour lequel il a été prévu. Cette spécialisation est à double tranchant. D’un côté elle permet d’obtenir des performances supérieures au FPGA, de l’autre elle implique des coûts de développement beaucoup plus élevés, surtout si l’organisation n’est pas en mesure de la rentabiliser en produisant une importante série de puces. Outre l’intelligence artificielle, un des principaux domaines d’utilisation actuels est le minage de crypto-monnaie.

NPU, Neural Processing Unit

C’est un terme que l’on rencontre de plus en plus souvent dans l’univers des smartphones. Le NPU est une puce dédiée aux réseaux neuronaux. Sa particularité est qu’elle va apporter une réponse non pas uniquement basée sur un calcul mais sur une base de connaissance qui va pouvoir être enrichie au fil du temps afin d’améliorer en continu sa précision et sa rapidité. Elle va être employée par exemple pour faire de la reconnaissance d’image et améliorer la qualité des photos prises par l’appareil. Les NPU ne se limitent néanmoins pas aux terminaux mobiles et peuvent être exploités à beaucoup plus grande échelle pour des applications plus lourdes. Intel a récemment dévoilé ses nouvelles puces Nervana, les NNP-L (Neural Network Processor for Learning), dédiés à l’apprentissage, et les NNP-I (Neural Network Processor for Inference), dédiés à l’inférence, et dont Facebook a accompagné la conception. Le géant des réseaux sociaux compte sur l’IA pour améliorer le fonctionnement de sa plateforme, notamment en matière de modération des contenus.

About the Author: Jean-Sébastien Volte

Jean-Sébastien est Brand Manager des offres Serveurs et Réseaux chez Dell EMC France.