Według firmy Nvidia wykorzystuje emulację oprogramowania w celu zwiększenia wydajności obliczeń zmiennoprzecinkowych podwójnej precyzji (FP64) w swoich akceleratorach AI do obliczeń o wysokiej wydajności (HPC) i zastosowań naukowych. Rejestr. Strategia ta pojawia się po zaprezentowaniu przez firmę procesorów graficznych Rubin, które zapewniają 33 teraflopy maksymalnej wydajności FP64, co stanowi spadek o 1 teraFLOP w porównaniu z procesorem graficznym H100. Biblioteki CUDA firmy Nvidia mogą osiągnąć do 200 teraflopów wydajności macierzy FP64 poprzez emulację oprogramowania, co stanowi 4,4-krotny wzrost w porównaniu z możliwościami sprzętowymi akceleratorów Blackwell. Dan Ernst, starszy dyrektor ds. produktów superkomputerowych firmy Nvidia, stwierdził, że dokładność emulacji odpowiada lub przekracza dokładność sprzętu z rdzeniem tensorowym. Jednakże Nicholas Malaya, pracownik AMD, zakwestionował skuteczność emulowanego FP64 w fizycznych symulacjach naukowych w porównaniu z wzorcami. FP64 pozostaje kluczowy dla obliczeń naukowych ze względu na swój zakres dynamiczny, który może wyrazić ponad 18,44 kwintyliona unikalnych wartości, w przeciwieństwie do 256 unikalnych wartości FP8 używanych w modelach AI. Według Malajów symulacje HPC, w przeciwieństwie do obciążeń AI, wymagają dużej precyzji, aby zapobiec propagacji błędów, które mogą prowadzić do niestabilności systemu. Koncepcja wykorzystania typów danych o niższej precyzji do emulacji FP64 sięga połowy XX wieku. Na początku 2024 roku badacze z instytutów technologicznych w Tokio i Shibaura opublikowali artykuł wykazujący, że operacje na macierzy FP64 można rozłożyć na wiele operacji INT8 na rdzeniach tensorowych Nvidii, uzyskując wydajność wyższą niż natywna. Metoda ta, znana jako schemat Ozaki, stanowi podstawę bibliotek emulacji FP64 firmy Nvidia, wydanych pod koniec ubiegłego roku. Ernst potwierdził, że emulowane obliczenia zachowują precyzję FP64, różniąc się jedynie sprzętową metodą wykonania. Nowoczesne procesory graficzne są wyposażone w rdzenie tensorowe o niskiej precyzji, takie jak te w Rubinie, które oferują 35 petaFLOPS gęstych obliczeń FP4. Rdzenie te są ponad 1000 razy szybsze niż komponenty specyficzne dla FP64. Ernst wyjaśnił, że wydajność tych mało precyzyjnych rdzeni doprowadziła do zbadania ich zastosowania do emulacji FP64, co jest zgodne z historycznym trendem w zakresie superkomputerów z wykorzystaniem dostępnego sprzętu. AMD wyraziło zastrzeżenia co do dokładności emulacji FP64. Malaya zauważyła, że podejście to sprawdza się dobrze w przypadku dobrze kondycjonowanych systemów numerycznych, takich jak testy porównawcze High Performance Linpack (HPL), ale może zawodzić w mniej kondycjonowanych systemach spotykanych w materiałoznawstwie lub kodach spalania. Podkreślił również, że algorytmy Nvidii do emulacji FP64 nie są w pełni zgodne z IEEE i nie uwzględniają niuansów, takich jak zera dodatnie i ujemne czy błędy „niebędące liczbą”. Rozbieżności te mogą prowadzić do rozprzestrzeniania się małych błędów i wpływania na ostateczne wyniki. Malaya dodał, że schemat Ozakiego w przybliżeniu podwaja zużycie pamięci dla macierzy FP64. Nadchodzący MI430X firmy AMD w szczególności zwiększy wydajność sprzętu o podwójnej i pojedynczej precyzji, wykorzystując swoją architekturę chipletów. Ernst przyznał się do pewnych ograniczeń, ale stwierdził, że kwestie takie jak dodatnie/ujemne zera nie są krytyczne dla większości specjalistów HPC. Nvidia opracowała dodatkowe algorytmy do wykrywania i łagodzenia problemów, takich jak liczby nieliczbowe i liczby nieskończone. Stwierdził, że zwiększony narzut pamięci dotyczy operacji, a nie całej aplikacji, przy czym typowe matryce to kilka gigabajtów. Ernst argumentował, że problemy ze zgodnością ze standardem IEEE często nie pojawiają się w przypadkach mnożenia macierzy, zwłaszcza w operacjach DGEMM. Emulacja przynosi korzyści przede wszystkim podzbiorze aplikacji HPC opierających się na operacjach gęstego ogólnego mnożenia macierzy (DGEMM). Malaya oszacowała, że 60% do 70% obciążeń HPC, zwłaszcza tych opierających się na wektorowym FMA, widzi niewielkie lub żadne korzyści z emulacji. W przypadku obciążeń wektorowych, takich jak obliczeniowa dynamika płynów, procesory graficzne Rubin firmy Nvidia muszą używać wolniejszych akceleratorów wektorowych FP64 w swoich rdzeniach CUDA. Ernst odpowiedział, że teoretyczne FLOPY nie zawsze przekładają się na użyteczną wydajność, szczególnie gdy przepustowość pamięci stanowi wąskie gardło. Oczekuje się, że Rubin, wyposażony w pamięć HBM4 o przepustowości 22 TB/s, zapewni wyższą wydajność w warunkach rzeczywistych przy tych obciążeniach pomimo wolniejszej wydajności wektora FP64. Wykonalność emulacji FP64 zostanie przetestowana po uruchomieniu nowych superkomputerów wyposażonych w procesory graficzne Nvidia Blackwell i Rubin. Algorytmy mogą z czasem być udoskonalane, biorąc pod uwagę ich charakter oparty na oprogramowaniu. Malaya wskazała, że AMD bada również emulację FP64 na chipach takich jak MI355X za pomocą flag programowych. Podkreślił, że zgodność z IEEE potwierdzi podejście, gwarantując spójność wyników z dedykowanym krzemem. Malaya zasugerowała, że społeczność powinna stworzyć zestaw aplikacji do oceny niezawodności emulacji w różnych przypadkach użycia.





