Duas formas de conceber um chip
Um chip de cálculo é um conjunto de milhares de milhões de transístores. A questão é o que os pomos a fazer, e existem duas abordagens opostas: toda a diferença entre uma GPU e um ASIC está aí.
-
A GPU (Graphics Processing Unit) é um processador programável. Os seus milhares de núcleos executam instruções: carrega-se um programa, ela lê-o, descodifica-o e executa-o. A mesma GPU treina um modelo de IA, calcula uma renderização 3D ou simula um fenómeno físico; basta mudar de programa.
-
O ASIC (Application-Specific Integrated Circuit) é um circuito dedicado a um único algoritmo. Não há programa: o algoritmo é implementado diretamente em portas lógicas. Um chip de mineração de Bitcoin só calcula o duplo SHA-256, mas centenas de milhares de milhões de vezes por segundo.
Na Happy Mining, vendemos e instalamos ambos: mineradores ASIC para o bitcoin e servidores GPU para a inteligência artificial. Perguntam-nos muitas vezes porque não minamos com uma GPU, ou porque não pomos uma IA a funcionar num Antminer. Eis a resposta.
Programável ou cablado: o preço da flexibilidade
Uma GPU é concebida para se adaptar a qualquer algoritmo. Para isso, cada operação passa por uma cadeia de controlo: leitura da instrução, descodificação, escalonamento das threads, acesso aos registos, às caches e à memória. Esta maquinaria ocupa uma grande parte do silício e consome energia em cada instrução, seja qual for o cálculo efetuado. É o preço da flexibilidade: a GPU é eficiente numa grande variedade de problemas, sem ser ótima em nenhum em particular.
Um ASIC elimina toda esta maquinaria. Num chip de mineração, as 128 rondas do duplo SHA-256 estão cabladas umas a seguir às outras, sob a forma de pipeline: a cada ciclo de relógio, um novo nonce entra no circuito e sai dele um hash completo. Nenhuma instrução para ler, nenhum ciclo perdido em controlo; quase todo o silício calcula. A eficiência é máxima, mas o chip é fixo: não pode executar nenhum outro algoritmo.
A animação no topo desta página confia a mesma tarefa aos dois chips. No bitcoin, a GPU carrega um programa de cálculo de inteiros e executa-o fazendo pausas de controlo, enquanto o pipeline do ASIC funciona sem interrupção. Na IA, a GPU reprograma-se para utilizar os seus Tensor Cores; o ASIC, por sua vez, não tem nenhum circuito para esse cálculo.
Dentro de uma GPU: o NVIDIA H200
A nossa vista explodida 3D do NVIDIA H200 permite descer do módulo até ao núcleo de cálculo. O chip GH100 mede 814 mm² e tem 80 mil milhões de transístores, repartidos por 132 multiprocessadores ativos no H200. Abra o chip e verá que os núcleos de cálculo são apenas uma parte do desenho: cada multiprocessador tem também a sua cache de instruções, os seus escalonadores, os seus registos e a sua cache de dados, e o centro do chip é ocupado por 50 MB de cache L2. À volta, seis pilhas de memória HBM3e fornecem 141 GB a 4,8 TB/s. Tudo isto serve para uma coisa: executar de forma eficiente programas diferentes.
É exatamente disso que a IA precisa. Um modelo de linguagem multiplica imensas matrizes de pesos, que têm de ser relidas da memória a cada palavra gerada: a largura de banda e a programabilidade contam mais do que tudo. O H200 atinge até 3 958 TFLOPS em FP8 (com esparsidade).
Dentro de um ASIC: o Antminer S21 Hydro
A nossa vista explodida 3D do Antminer S21 Hydro faz a mesma viagem. A máquina contém três hashboards de 216 chips BM1368, ou seja, 648 chips. Faça zoom numa hashboard: os chips estão ligados em cadeia, o trabalho entra pelo primeiro e passa de chip em chip até ao último, e os resultados regressam no sentido inverso. Desça ao interior de um chip: quase toda a sua superfície é feita do mesmo motor de hashing repetido, sem descodificador de instruções, sem cache, sem memória externa. Cada motor é o duplo SHA-256 desenrolado em 128 estágios, um pipeline cablado no silício.
Resultado: um chip BM1368 calcula cerca de 500 mil milhões de hashes por segundo com 8 W. Um H200, no mesmo cálculo, produz da ordem de 10 mil milhões com 700 W, segundo a nossa estimativa a partir do seu débito de cálculo de inteiros. O chip ASIC faz cinquenta vezes mais trabalho com oitenta e cinco vezes menos energia: é mais de quatro mil vezes mais eficiente.
E a FPGA?
Entre os dois, existe a FPGA (Field-Programmable Gate Array), um circuito reconfigurável: a sua lógica pode ser redesenhada após o fabrico para implementar um determinado algoritmo. Aproxima-se assim de um ASIC para um cálculo específico, sem atingir a sua densidade nem a sua eficiência energética, uma vez que as suas portas reconfiguráveis continuam a ser mais lentas e a consumir mais do que portas gravadas de uma vez por todas. As FPGA serviram brevemente para minerar bitcoin em 2011 e 2012, entre a era das GPU e a chegada dos primeiros ASIC em 2013. Hoje, servem sobretudo para a prototipagem de chips, as telecomunicações e a negociação financeira de alta frequência.
ASIC ou GPU: qual escolher?
A questão não é saber qual é o melhor chip, mas sim que cálculo precisa de fazer.
-
Para minerar bitcoin, o ASIC é a única escolha rentável há mais de dez anos. As outras criptomoedas de prova de trabalho (Litecoin e Dogecoin em Scrypt, Kaspa…) também têm os seus ASIC: veja todos os nossos mineradores ASIC. A nossa calculadora de rentabilidade ASIC calcula os números de uma máquina com os dados do dia.
-
Para a inteligência artificial, a renderização 3D ou a computação científica, a GPU é insubstituível: um ASIC só pode executar o algoritmo para o qual foi concebido. Uma GPU rentabiliza-se pelas utilizações que lhe são dadas ou pelo aluguer da sua capacidade de cálculo: veja a nossa calculadora de rentabilidade GPU.
Um último critério, muitas vezes esquecido: a vida útil económica. Um ASIC de mineração é útil enquanto minerar render mais do que a eletricidade consumida; uma GPU mantém valor de utilização enquanto houver programas que precisem dela. Falamos disso com todo o gosto: ligue-nos para o +33 6 32 49 26 41.