Le nuove GPU Rubin di Nvidia sfruttano l'emulazione software per migliorare le prestazioni FP64 per l'HPC, sfidando il recente vantaggio di AMD in quest'area, nonostante le riserve espresse da AMD riguardo all'applicabilità del metodo nel mondo reale. Il calcolo in virgola mobile a doppia precisione (FP64) è essenziale per le moderne applicazioni HPC e di calcolo scientifico. Le GPU Rubin appena presentate da Nvidia forniscono 33 teraFLOPS di prestazioni di picco FP64 senza emulazione, ovvero un teraFLOP in meno rispetto all'H100 di quattro anni fa. Con l'emulazione software abilitata nelle librerie CUDA di Nvidia, secondo quanto riferito, il chip può raggiungere fino a 200 teraFLOPS di prestazioni della matrice FP64. Ciò rappresenta un aumento di 4,4 volte rispetto alle capacità hardware degli acceleratori Blackwell in uscita. Dan Ernst, direttore senior dei prodotti di supercalcolo presso Nvidia, ha dichiarato: “Quello che abbiamo scoperto, attraverso molti studi con partner e con le nostre indagini interne, è che la precisione che otteniamo dall'emulazione è almeno altrettanto buona di quella che otterremmo da un componente hardware tensor core.” Nicholas Malaya, un membro di AMD, ha osservato: “È abbastanza buono in alcuni benchmark, non è ovvio che sia buono nelle simulazioni scientifiche fisiche reali”. Malaya ha suggerito che l'emulazione FP64 richiede ulteriori ricerche e sperimentazioni. FP64 rimane lo standard per il calcolo scientifico grazie alla sua gamma dinamica, capace di esprimere oltre 18,44 quintilioni (264) valori unici. I moderni modelli di intelligenza artificiale come DeepSeek R1, al contrario, vengono spesso addestrati all’FP8, che può esprimere 256 valori univoci. Le simulazioni HPC si basano su principi fisici fondamentali, che le rendono intolleranti agli errori, a differenza dei carichi di lavoro AI. Malaya ha spiegato: “Non appena inizi a incorrere in errori, questi errori finiti si propagano e causano cose come esplosioni”. Il concetto di utilizzare tipi di dati a precisione inferiore per emulare FP64 non è nuovo. Ernst ha detto: “L'emulazione è vecchia come il fango. Avevamo l'emulazione a metà degli anni '50 prima che avessimo l'hardware per la virgola mobile”. All’inizio del 2024, i ricercatori degli istituti di tecnologia di Tokyo e Shibaura hanno pubblicato un documento che esplora questo concetto. Il loro metodo ha mostrato che le operazioni della matrice FP64 potrebbero essere scomposte in più operazioni INT8, ottenendo prestazioni superiori a quelle native sui tensor core di Nvidia. Questo approccio, noto come schema Ozaki, costituisce la base per le librerie di emulazione FP64 di Nvidia, rilasciate alla fine dello scorso anno. Ernst ha chiarito: “è ancora FP64. Non è precisione mista. È semplicemente fatto e costruito in un modo diverso dal punto di vista dell'hardware.” Le GPU moderne contengono tensor core a bassa precisione. I tensor core di Rubin, ad esempio, sono capaci di 35 petaFLOPS di calcolo FP4 denso. Nell’FP64, questi chip sono più di 1.000 volte più lenti. Ernst ha spiegato che l'efficienza della costruzione e della gestione di questi tensor core a bassa precisione ha spinto a esplorarne l'utilizzo per il calcolo FP64. “Abbiamo l'hardware, proviamo a usarlo. Questa è la storia del supercalcolo”, ha detto. AMD ha espresso preoccupazione circa l'accuratezza dell'emulazione FP64. Malaya ha indicato che l'emulazione FP64 funziona bene per sistemi numerici ben condizionati, citando il benchmark High Performance Linpack (HPL). Tuttavia, “quando si guarda alla scienza dei materiali, ai codici di combustione, ai sistemi di algebra lineare a bande, cose del genere, si vedono sistemi molto meno ben condizionati, e all'improvviso iniziano a crollare”, ha detto. Malaya ha notato che l'emulazione FP64 non è completamente conforme a IEEE, poiché gli algoritmi di Nvidia non tengono conto di sfumature come zeri positivi rispetto a zeri negativi, non errori numerici o errori numerici infiniti. Piccoli errori nelle operazioni intermedie per l'emulazione possono portare a imprecisioni. L'aumento delle operazioni per mitigare questo problema può annullare i vantaggi in termini di prestazioni. Malaya ha anche riferito: “Abbiamo dati che mostrano che stai utilizzando circa il doppio della capacità di memoria di Ozaki per emulare le matrici FP64”. AMD si sta quindi concentrando su hardware specializzato per doppia e singola precisione, con il suo prossimo MI430X che utilizza l'architettura chiplet per rafforzare le prestazioni. Ernst ha riconosciuto le lacune nell'implementazione di Nvidia. Ha sostenuto che gli zeri positivi/negativi non sono fondamentali per la maggior parte dei professionisti dell'HPC. Nvidia ha sviluppato algoritmi supplementari per rilevare e mitigare problemi come i non numeri e i numeri infiniti. Per quanto riguarda il consumo di memoria, Ernst ha ammesso che può essere più elevato, ma ha affermato che questo sovraccarico è relativo all'operazione, non all'applicazione, che in genere coinvolge matrici di pochi gigabyte. Ha inoltre sostenuto che i problemi di conformità IEEE spesso non si presentano nei casi di moltiplicazione di matrici. “La maggior parte dei casi d'uso in cui sono in gioco le regole di ordinamento della conformità IEEE non si verificano nei casi di matrice o moltiplicazione di matrici. Non esiste comunque un DGEMM che tende a seguire effettivamente quella regola”, ha condiviso Ernst. L'emulazione FP64 è efficace principalmente per un sottoinsieme di applicazioni HPC che si basano su operazioni DGEMM (Dense General Matrix Multiply). Malaya ha stimato che per il 60-70% dei carichi di lavoro HPC l’emulazione offre vantaggi minimi. “Nella nostra analisi, la stragrande maggioranza dei carichi di lavoro HPC reali si basa su FMA vettoriale, non su DGEMM”, ha affermato. Per attività ad alto utilizzo di vettori, come la fluidodinamica computazionale, le GPU Rubin funzionano su acceleratori vettoriali FP64 più lenti all'interno dei core CUDA. Ernst ha sottolineato che FLOPS più elevati non sempre equivalgono a FLOPS utili, poiché la larghezza di banda della memoria spesso limita le prestazioni nel mondo reale. Ha fatto riferimento al benchmark High Performance Conjugate Gradient del TOP500, ricco di vettori, in cui le CPU spesso sono in testa a causa di bit per FLOPS più elevati dai loro sottosistemi di memoria. Con i nuovi supercomputer che integrano le GPU Blackwell e Rubin di Nvidia, verrà testata la fattibilità dell'emulazione FP64. L'indipendenza intrinseca degli algoritmi dall'hardware specifico consente potenziali miglioramenti nel tempo. Malaya ha confermato che AMD sta anche esplorando l'emulazione FP64 su chip come l'MI355X tramite flag software per identificare le applicazioni adatte. Ha indicato che la conformità IEEE convaliderebbe l'approccio garantendo risultati coerenti tra l'emulazione e il silicio dedicato. Malaya ha dichiarato: “Se posso andare da un partner e dire di eseguire questi due binari: questo ti dà la stessa risposta dell'altro ed è più veloce, e sì, sotto il cofano stiamo facendo uno schema – penso che sia un argomento convincente che è pronto per il debutto. ” Ha aggiunto che applicazioni specifiche potrebbero essere più affidabili con l'emulazione, suggerendo: “Dovremmo, come comunità, creare un paniere di app da guardare”.
Credito immagine in primo piano
Source: GPU Nvidia Rubin: 200 teraFLOPS FP64 da emulazione software