Due modi di progettare un chip
Un chip di calcolo è un insieme di miliardi di transistor. La domanda è che cosa far fare loro, ed esistono due approcci opposti: tutta la differenza tra una GPU e un ASIC sta qui.
-
La GPU (Graphics Processing Unit) è un processore programmabile. Le sue migliaia di core eseguono istruzioni: le si carica un programma, lei lo legge, lo decodifica e lo esegue. La stessa GPU addestra un modello di IA, calcola un rendering 3D o simula un fenomeno fisico; basta cambiare programma.
-
L'ASIC (Application-Specific Integrated Circuit) è un circuito dedicato a un solo algoritmo. Non c'è alcun programma: l'algoritmo è implementato direttamente in porte logiche. Un chip di mining Bitcoin calcola solo il doppio SHA-256, ma centinaia di miliardi di volte al secondo.
Noi di Happy Mining vendiamo e installiamo entrambi: miner ASIC per il bitcoin e server GPU per l'intelligenza artificiale. Ci chiedono spesso perché non si mina con una GPU, o perché non si fa girare un'IA su un Antminer. Ecco la risposta.
Programmabile o cablato: il prezzo della flessibilità
Una GPU è progettata per adattarsi a qualsiasi algoritmo. Per questo, ogni operazione passa attraverso una catena di controllo: lettura dell'istruzione, decodifica, scheduling dei thread, accesso ai registri, alle cache e alla memoria. Questo meccanismo occupa gran parte del silicio e consuma energia a ogni istruzione, qualunque sia il calcolo eseguito. È il prezzo della flessibilità: la GPU è efficiente su un'ampia varietà di problemi, senza essere ottimale su nessuno in particolare.
Un ASIC elimina tutto questo meccanismo. In un chip di mining, i 128 round del doppio SHA-256 sono cablati uno dopo l'altro, sotto forma di pipeline: a ogni ciclo di clock, un nuovo nonce entra nel circuito e ne esce un hash completo. Nessuna istruzione da leggere, nessun ciclo perso nel controllo; quasi tutto il silicio calcola. L'efficienza è massima, ma il chip è immutabile: non può eseguire nessun altro algoritmo.
L'animazione in cima a questa pagina affida lo stesso compito ai due chip. Sul bitcoin, la GPU carica un programma di calcolo intero e lo esegue facendo pause di controllo, mentre la pipeline dell'ASIC gira senza interruzioni. Sull'IA, la GPU si riprogramma per usare i suoi Tensor Core; l'ASIC, invece, non ha alcun circuito per questo calcolo.
All'interno di una GPU: la NVIDIA H200
La nostra vista esplosa 3D della NVIDIA H200 permette di scendere dal modulo fino al cuore di calcolo. Il chip GH100 misura 814 mm² e conta 80 miliardi di transistor, ripartiti in 132 multiprocessori attivi sull'H200. Aprite il chip e vedrete che i core di calcolo sono solo una parte del disegno: ogni multiprocessore ha anche la propria cache di istruzioni, i propri scheduler, i propri registri e la propria cache di dati, e il centro del chip è occupato da 50 MB di cache L2. Intorno, sei stack di memoria HBM3e forniscono 141 GB a 4,8 TB/s. Tutto questo serve a una cosa: eseguire in modo efficiente programmi diversi.
È esattamente ciò di cui ha bisogno l'IA. Un modello linguistico moltiplica immense matrici di pesi, che devono essere rilette dalla memoria a ogni parola generata: la larghezza di banda e la programmabilità contano più di tutto. L'H200 raggiunge fino a 3.958 TFLOPS in FP8 (con sparsità).
All'interno di un ASIC: l'Antminer S21 Hydro
La nostra vista esplosa 3D dell'Antminer S21 Hydro fa lo stesso viaggio. La macchina contiene tre hashboard da 216 chip BM1368, ovvero 648 chip. Zoomate su una hashboard: i chip sono collegati in catena, il lavoro entra dal primo e passa da chip a chip fino all'ultimo, e i risultati tornano nel senso opposto. Scendete dentro un chip: quasi tutta la sua superficie è fatta dello stesso motore di hashing ripetuto, senza decodificatore di istruzioni, senza cache, senza memoria esterna. Ogni motore è il doppio SHA-256 srotolato in 128 stadi, una pipeline cablata nel silicio.
Risultato: un chip BM1368 calcola circa 500 miliardi di hash al secondo con 8 W. Una H200, sullo stesso calcolo, ne produce dell'ordine di 10 miliardi con 700 W, secondo la nostra stima basata sul suo throughput di calcolo intero. Il chip ASIC svolge cinquanta volte più lavoro con ottantacinque volte meno energia: è oltre quattromila volte più efficiente.
E l'FPGA?
Tra i due esiste l'FPGA (Field-Programmable Gate Array), un circuito riconfigurabile: la sua logica può essere ridisegnata dopo la fabbricazione per implementare un determinato algoritmo. Si avvicina così a un ASIC per un calcolo specifico, senza raggiungerne la densità né l'efficienza energetica, poiché le sue porte riconfigurabili restano più lente e più energivore di porte incise una volta per tutte. Gli FPGA sono stati usati brevemente per minare bitcoin nel 2011 e nel 2012, tra l'era delle GPU e l'arrivo dei primi ASIC nel 2013. Oggi servono soprattutto alla prototipazione di chip, alle telecomunicazioni e alla finanza ad alta frequenza.
ASIC o GPU: quale scegliere?
La domanda non è quale chip sia il migliore, ma quale calcolo dovete eseguire.
-
Per minare bitcoin, l'ASIC è l'unica scelta redditizia da oltre dieci anni. Anche le altre criptovalute basate su proof of work (Litecoin e Dogecoin in Scrypt, Kaspa…) hanno i propri ASIC: scoprite tutti i nostri miner ASIC. Il nostro calcolatore di redditività ASIC valuta una macchina con i dati del giorno.
-
Per l'intelligenza artificiale, il rendering 3D o il calcolo scientifico, la GPU è insostituibile: un ASIC può eseguire solo l'algoritmo per cui è stato progettato. Una GPU si ripaga con gli usi che se ne fanno o con il noleggio della sua potenza di calcolo: consultate il nostro calcolatore di redditività GPU.
Un ultimo criterio, spesso dimenticato: la vita utile economica. Un ASIC di mining è utile finché minare rende più dell'elettricità consumata; una GPU mantiene un valore d'uso finché dei programmi ne hanno bisogno. Ne parliamo volentieri: chiamateci al +33 6 32 49 26 41.