Deux façons de concevoir une puce
Une puce de calcul est un assemblage de milliards de transistors. La question est ce qu'on leur fait faire, et il existe deux approches opposées : toute la différence entre un GPU et un ASIC tient là.
-
Le GPU (Graphics Processing Unit) est un processeur programmable. Ses milliers de cœurs exécutent des instructions : on lui charge un programme, il le lit, le décode et l'exécute. Le même GPU entraîne un modèle d'IA, calcule un rendu 3D ou simule un phénomène physique ; il suffit de changer de programme.
-
L'ASIC (Application-Specific Integrated Circuit) est un circuit dédié à un seul algorithme. Il n'y a pas de programme : l'algorithme est implémenté directement en portes logiques. Une puce de minage Bitcoin ne calcule que le double SHA-256, mais des centaines de milliards de fois par seconde.
Chez Happy Mining, nous vendons et installons les deux : des mineurs ASIC pour le bitcoin et des serveurs GPU pour l'intelligence artificielle. On nous demande souvent pourquoi on ne mine pas avec un GPU, ou pourquoi on ne fait pas tourner une IA sur un Antminer. Voici la réponse.
Programmable ou câblé : le prix de la flexibilité
Un GPU est conçu pour s'adapter à n'importe quel algorithme. Pour cela, chaque opération passe par une chaîne de contrôle : lecture de l'instruction, décodage, ordonnancement des threads, accès aux registres, aux caches et à la mémoire. Cette machinerie occupe une large part du silicium et consomme de l'énergie à chaque instruction, quel que soit le calcul effectué. C'est le prix de la flexibilité : le GPU est efficace sur une grande variété de problèmes, sans être optimal sur aucun en particulier.
Un ASIC supprime toute cette machinerie. Dans une puce de minage, les 128 tours du double SHA-256 sont câblés les uns après les autres, sous forme de pipeline : à chaque cycle d'horloge, un nouveau nonce entre dans le circuit et un hash complet en sort. Aucune instruction à lire, aucun cycle perdu en contrôle ; presque tout le silicium calcule. L'efficacité est maximale, mais la puce est figée : elle ne peut exécuter aucun autre algorithme.
L'animation en haut de cette page confie la même tâche aux deux puces. Sur le bitcoin, le GPU charge un programme de calcul entier et l'exécute en marquant des pauses de contrôle, tandis que le pipeline de l'ASIC tourne sans interruption. Sur l'IA, le GPU se reprogramme pour utiliser ses Tensor Cores ; l'ASIC, lui, n'a aucun circuit pour ce calcul.
À l'intérieur d'un GPU : le NVIDIA H200
Notre vue éclatée 3D du NVIDIA H200 permet de descendre du module jusqu'au cœur de calcul. La puce GH100 mesure 814 mm² et compte 80 milliards de transistors, répartis en 132 multiprocesseurs actifs sur le H200. Ouvrez la puce et vous verrez que les cœurs de calcul ne sont qu'une partie du dessin : chaque multiprocesseur porte aussi son cache d'instructions, ses ordonnanceurs, ses registres et son cache de données, et le centre de la puce est occupé par 50 Mo de cache L2. Autour, six piles de mémoire HBM3e apportent 141 Go à 4,8 To/s. Tout cela sert à une chose : exécuter efficacement des programmes différents.
C'est exactement ce dont l'IA a besoin. Un modèle de langage multiplie d'immenses matrices de poids, qu'il faut relire en mémoire à chaque mot généré : la bande passante et la programmabilité comptent plus que tout. Le H200 atteint jusqu'à 3 958 TFLOPS en FP8 (avec parcimonie).
À l'intérieur d'un ASIC : l'Antminer S21 Hydro
Notre vue éclatée 3D de l'Antminer S21 Hydro fait le même voyage. La machine contient trois hashboards de 216 puces BM1368, soit 648 puces. Zoomez sur une hashboard : les puces sont reliées en chaîne, le travail entre par la première et passe de puce en puce jusqu'à la dernière, et les résultats reviennent dans l'autre sens. Descendez dans une puce : presque toute sa surface est faite du même moteur de hachage répété, sans décodeur d'instructions, sans cache, sans mémoire externe. Chaque moteur est le double SHA-256 déroulé en 128 étages, un pipeline câblé dans le silicium.
Résultat : une puce BM1368 calcule environ 500 milliards de hashs par seconde pour 8 W. Un H200, sur le même calcul, en produit de l'ordre de 10 milliards pour 700 W, selon notre estimation à partir de son débit de calcul entier. La puce ASIC fait cinquante fois plus de travail avec quatre-vingt-cinq fois moins d'énergie : plus de quatre mille fois plus efficace.
Et le FPGA ?
Entre les deux, il existe le FPGA (Field-Programmable Gate Array), un circuit reconfigurable : sa logique peut être redessinée après fabrication pour implémenter un algorithme donné. Il se rapproche ainsi d'un ASIC pour un calcul précis, sans en atteindre la densité ni l'efficacité énergétique, puisque ses portes reconfigurables restent plus lentes et plus gourmandes que des portes gravées une fois pour toutes. Les FPGA ont brièvement servi à miner le bitcoin en 2011 et 2012, entre l'ère des GPU et l'arrivée des premiers ASIC en 2013. Aujourd'hui, ils servent surtout au prototypage de puces, aux télécoms et à la finance haute fréquence.
ASIC ou GPU : lequel choisir ?
La question n'est pas de savoir quelle puce est la meilleure, mais quel calcul vous devez faire.
-
Pour miner du bitcoin, l'ASIC est le seul choix rentable depuis plus de dix ans. Les autres cryptomonnaies à preuve de travail (Litecoin et Dogecoin en Scrypt, Kaspa…) ont elles aussi leurs ASIC : voir tous nos mineurs ASIC. Notre calculateur de rentabilité ASIC chiffre une machine avec les données du jour.
-
Pour l'intelligence artificielle, le rendu 3D ou le calcul scientifique, le GPU est irremplaçable : un ASIC ne peut exécuter que l'algorithme pour lequel il a été conçu. Un GPU se rentabilise par les usages qu'on en fait ou par la location de sa puissance de calcul : voir notre calculateur de rentabilité GPU.
Un dernier critère, souvent oublié : la durée de vie économique. Un ASIC de minage est utile tant que miner rapporte plus que l'électricité consommée ; un GPU garde une valeur d'usage tant que des programmes en ont besoin. Nous en parlons volontiers : appelez-nous au +33 6 32 49 26 41.