As novas GPUs Rubin da Nvidia aproveitam a emulação de software para melhorar o desempenho do FP64 para HPC, desafiando a recente liderança da AMD nesta área, apesar das reservas expressas pela AMD em relação à aplicabilidade do método no mundo real. A computação de ponto flutuante de dupla precisão (FP64) é essencial para aplicações modernas de HPC e de computação científica. As GPUs Rubin recentemente reveladas da Nvidia fornecem 33 teraFLOPS de desempenho máximo de FP64 sem emulação, o que é um teraFLOP a menos que o H100 de quatro anos. Com a emulação de software habilitada nas bibliotecas CUDA da Nvidia, o chip pode atingir até 200 teraFLOPS de desempenho de matriz FP64. Isso representa um aumento de 4,4x em relação às capacidades de hardware dos aceleradores Blackwell de saída. Dan Ernst, diretor sênior de produtos de supercomputação da Nvidia, afirmou: “O que descobrimos é, por meio de muitos estudos com parceiros e com nossas próprias investigações internas, que a precisão que obtemos da emulação é pelo menos tão boa quanto a que obteríamos com uma peça de hardware com núcleo tensor.” Nicholas Malaya, pesquisador da AMD, observou: “É muito bom em alguns benchmarks, não é óbvio que seja bom em simulações científicas físicas reais”. Malaya sugeriu que a emulação do FP64 requer mais pesquisas e experimentações. O FP64 continua sendo o padrão para a computação científica devido à sua faixa dinâmica, capaz de expressar mais de 18,44 quintilhões (264) valores únicos. Modelos modernos de IA como DeepSeek R1, por outro lado, são frequentemente treinados no FP8, que pode expressar 256 valores exclusivos. As simulações de HPC baseiam-se em princípios físicos fundamentais, o que as torna intolerantes a erros, ao contrário das cargas de trabalho de IA. Malaya explicou: “Assim que você começa a incorrer em erros, esses erros finitos se propagam e causam coisas como explosões”. O conceito de usar tipos de dados de baixa precisão para emular o FP64 não é novo. Ernst mencionou: “A emulação é muito antiga. Tínhamos emulação em meados dos anos 50, antes de termos hardware para ponto flutuante.” No início de 2024, pesquisadores dos institutos de tecnologia de Tóquio e Shibaura publicaram um artigo explorando esse conceito. Seu método mostrou que as operações da matriz FP64 poderiam ser decompostas em múltiplas operações INT8, alcançando desempenho superior ao nativo nos núcleos tensores da Nvidia. Essa abordagem, conhecida como esquema Ozaki, forma a base para as bibliotecas de emulação FP64 da Nvidia, lançadas no final do ano passado. Ernst esclareceu: “ainda é FP64. Não é uma precisão mista. É apenas feito e construído de uma maneira diferente da perspectiva do hardware.” As GPUs modernas contêm núcleos tensores de baixa precisão. Os núcleos tensores de Rubin, por exemplo, são capazes de 35 petaFLOPS de computação FP4 densa. No FP64, esses chips são mais de 1.000x mais lentos. Ernst explicou que a eficiência de construir e executar esses núcleos tensores de baixa precisão levou à exploração de seu uso para computação FP64. “Temos o hardware, vamos tentar usá-lo. Essa é a história da supercomputação”, disse ele. A AMD expressou preocupação com a precisão da emulação FP64. Malaya indicou que a emulação FP64 funciona bem para sistemas numéricos bem condicionados, citando o benchmark High Performance Linpack (HPL). No entanto, “quando você olha para a ciência dos materiais, códigos de combustão, sistemas de álgebra linear em faixas, coisas assim, eles são sistemas muito menos condicionados e, de repente, começam a quebrar”, disse ele. Malaya observou que a emulação FP64 não é totalmente compatível com IEEE, já que os algoritmos da Nvidia não levam em conta nuances como zeros positivos versus negativos, erros de números ou erros de números infinitos. Pequenos erros nas operações intermediárias de emulação podem levar a imprecisões. Aumentar as operações para mitigar isso pode anular as vantagens de desempenho. Malaya também relatou: “Temos dados que mostram que você está usando cerca de duas vezes a capacidade de memória do Ozaki para emular as matrizes FP64”. A AMD está, portanto, concentrando-se em hardware especializado para precisão dupla e simples, com seu próximo MI430X utilizando arquitetura de chiplet para melhorar o desempenho. Ernst reconheceu lacunas na implementação da Nvidia. Ele argumentou que zeros positivos/negativos não são críticos para a maioria dos profissionais de HPC. A Nvidia desenvolveu algoritmos complementares para detectar e mitigar problemas como não-números e números infinitos. Em relação ao consumo de memória, Ernst admitiu que pode ser maior, mas afirmou que essa sobrecarga é relativa à operação, não à aplicação, normalmente envolvendo matrizes de alguns gigabytes. Ele também argumentou que os problemas de conformidade com o IEEE muitas vezes não surgem em casos de multiplicação de matrizes. “A maioria dos casos de uso em que as regras de ordenação de conformidade do IEEE estão em jogo não surgem em matrizes, casos de multiplicação de matrizes. Não há um DGEMM que tenda a realmente seguir essa regra de qualquer maneira”, compartilhou Ernst. A emulação FP64 é principalmente eficaz para um subconjunto de aplicativos HPC que dependem de operações de multiplicação de matriz geral densa (DGEMM). Malaya estimou que para 60 a 70 por cento das cargas de trabalho de HPC, a emulação oferece benefícios mínimos. “Em nossa análise, a grande maioria das cargas de trabalho reais de HPC depende do vetor FMA, não do DGEMM”, disse ele. Para tarefas com muitos vetores, como dinâmica de fluidos computacional, as GPUs Rubin operam em aceleradores vetoriais FP64 mais lentos dentro de núcleos CUDA. Ernst destacou que FLOPS mais altos nem sempre equivalem a FLOPS úteis, já que a largura de banda da memória muitas vezes limita o desempenho no mundo real. Ele fez referência ao benchmark High Performance Conjugate Gradient com muitos vetores do TOP500, onde as CPUs geralmente lideram devido a bits mais altos por FLOPS de seus subsistemas de memória. Com novos supercomputadores integrando as GPUs Blackwell e Rubin da Nvidia, a viabilidade da emulação FP64 será testada. A independência inerente dos algoritmos de hardware específico permite melhorias potenciais ao longo do tempo. Malaya confirmou que a AMD também está explorando a emulação FP64 em chips como o MI355X por meio de sinalizadores de software para identificar aplicativos adequados. Ele indicou que a conformidade com o IEEE validaria a abordagem, garantindo resultados consistentes entre emulação e silício dedicado. Malaya declarou: “Se eu puder ir a um parceiro e dizer para executar esses dois binários: este lhe dá a mesma resposta que o outro e é mais rápido, e sim, nos bastidores, estamos fazendo algum esquema – acho que é um argumento convincente que está pronto para o horário nobre.” Ele acrescentou que aplicativos específicos podem ser mais confiáveis com a emulação, sugerindo: “Deveríamos, como comunidade, construir uma cesta de aplicativos para analisar”.
Source: GPUs Nvidia Rubin: 200 teraFLOPS FP64 de emulação de software