Nvidia má vlastní superpočítač. SaturnV je prý nejzelenější ve výkonu na 1 watt

9

Tento měsíc Nvidia avizovala zatím historicky nejvyšší tržby, když za své třetí účetní čtvrtletí přišla k tržbě 2 miliardy dolarů (vzhledem k tomu, že mívala tříciferné kvartální výsledky, se dá hovořit o dvojnásobném obratu proti minulosti). Ambice firmy se zřejmě zvětšují s finančními výsledky, protože nyní se podle všeho vrhnula do byznysu superpočítačů. Není to ale úplně překvapivé, už v létě při představení Tesly P100 (a čipu GP100), určené přesně pro tento obor, uvedla Nvidia vlastní výpočetní servery, které jsou i základem nového superpočítače.

Ten se jmenuje SaturnV (nebo DGX SaturnV), což evidentně odkazuje na slavnou měsíční raketu pro mise Apollo, ale zároveň i na „nV“ v názvu firmy z doby, kdy si ještě jméno psala jako „nVidia“. Jde o klastr složený z výpočetních serverů DGX-1, které Nvidia nabízí jako originální implementaci svého výpočetního GPU Tesla P100. To jsou stroje pro GPGPU aplikace (z nichž Nvidia nejvíce inzeruje strojové učení a umělou inteligenci), v kterých běží dva dvacetijádrové Xeony E5-2698 v4 (tedy založené na nejnovější 14nm generaci Broadwell-EP) a osm grafik Tesla P100 v kompaktním formátu. Server s maximálním příkonem 3,2 kW má 512 GB paměti RAM, RAID ze čtyř 1,92TB SSD a jako konektivitu 10Gb/s Ethernet a 100Gb/s InfiniBand.

Klastr DGX SaturnV, superpočítač používaný Nvidií
Klastr DGX SaturnV, superpočítač používaný Nvidií

SaturnV je složený ze 125 těchto jednotek, takže se nejedná o nějak velký superpočítač. Ovšem díky tomu, že je založený na nové generaci FinFETových čipů, se momentálně nachází na slušné příčce žebříčku TOP500, podle Nvidie by měl být 28. nejrychlejší. Čím se ale firma chlubí, je energetická efektivita, podle Nvidie servery DGX-1 nabízejí 9,46 GFLOPS na 1 watt, zatímco zatím nejefektivnější superpočítač z červnového TOP500 nabízí jen 6,67 GFLOPS za watt. Ten je mimochodem založený na 14nm CPU Xeon Phi generace Knights Landing od Intelu, tedy úhlavním nepříteli.

Server DGX-1 (Zdroj: HotHardware)
Server DGX-1 (Zdroj: HotHardware)

Ovšem zde je asi na místě opatrnost (jako vždy u marketingových oslav). Tato čísla jsou pravděpodobně pro benchmark LinPack, který ale do jisté míry nadhodnocuje využitelný výkon výpočetních GPU (výsledné využití je ale v tomto případě stále jen dvoutřetinové proti teoretickým TFLOPS). V řadě jiných výpočetních benchmarků mají ale superpočítače s GPU mnohem větší propad reálného využitelného výkonu, než ta s CPU (k nimž spíše patří nový Xeon Phi). Podle konkrétních výpočtů by tak v praxi tento rozdíl mohl být mnohem menší nebo i zmizet. Je ovšem taky třeba říci, že Nvidia systém DGX-1 primárně inzeruje na jiné použití než HPC: pro výpočty s poloviční přesností FP16.

 

 

Reklama pro DGX-1

SaturnV Nvidia uvádí jako superpočítač pro vlastní použití – slouží jí při vývoji softwaru pro samořídící vozidla, simulace při vývoji čipů, analýze defektů na waferech a jiných technologií. Nicméně na webu, kde se tímto strojem chlubí, současně nabízí kontakt na oddělení prodejů, pokud byste o podobný stroj měli zájem. SaturnV tedy nemusí být tak úplně interní projekt, ale i produkt, i když Nvidia jako nově příchozí nemůže samozřejmě nabídnout takové zkušenosti a úroveň služeb jako velcí zavedení výrobci. SaturnV není zas tak komplexní, mělo by jít jen o jednodušší klastr serverů DGX-1 s InfiniBand přepínači Mellanox. Tím produktem, který skrze tento symbol Nvidia chce prodat, jsou tak spíše právě ony DGX-1.

Server DGX-1 z čelního pohledu
Server DGX-1 z čelního pohledu

Nabízený odkaz vás také zavede na poptávkový formulář pro tyto referenční servery Nvidie. Jinými slovy, jako přímý dodavatel superpočítačů Nvidia zatím funguje jen tak napůl, ale kdo ví, kam ji její ambice jednou zavedou. Zavedení hráči jako Cray nebo IBM, kteří nyní její GPU používají, tak možná jednou budou konfrontováni s tím, že jim jejich dodavatel sám začne konkurovat.

Zdroje: The Next Platform, Nvidia (1, 2)

9 KOMENTÁŘE

  1. “ V řadě jiných výpočetních benchmarků mají ale superpočítače s GPU mnohem větší propad reálného využitelného výkonu, než ta s CPU (k nimž spíše patří nový Xeon Phi).“

    Hmm.: https://www.nextplatform.com/wp-content/uploads/2016/11/Phycode2.jpg

    +upozorňujem na FMA, takže pokiaľ sa kód orientuje len na sčítanie alebo len na násobenie, tak je nutné hodnoty v grafe vydeliť dvoma.

    Teda je nutné dodržať presný počet aktívnych vlákien (čo je v systémoch s nepredvídateľnými prístupmi do zdieľanej pamäte problém), presný počet inštrukcií v nich (pravdepodobne dĺžka pipeline – inštrukcie na generovanie adries…) a ten správny typ inštrukcií. Vzhľadom nato sú grafiky absolútny luxus (hardvérový sheduler, rýchla pamäť).

    A mimochodom, aby sa to nezabudlo. 😀

    „While the invention has been described with respect to specific embodiments, one skilled in the art will recognize that numerous modifications are possible. For instance, out-of-order instruction issue within a thread may be implemented if desired, e.g., by adapting out-of-order issue techniques from general-purpose processors that allow issue of any ready instruction within an “active window.” For instance, two or more instructions per thread could be loaded into buffer 510 of issuer 506 of FIG. 5. If, in some clock cycle, the oldest instruction for the thread with highest priority cannot be issued (e.g., because the destination functional unit is not ready or because an operand has not yet been collected), a newer instruction for that thread that can be issued might be selected instead.“

    Z patentov Nvidie, kto o tom chce vedieť viac, ten to bez problémov nájde. Na mňa to je písané príliš vyčerpávajúcim spôsobom. 😀

    AMD v tom bude mať väčší neporiadok kvôli veciam z procesorov, ale napríklad v manuáloch sú označené inštrukcie, ktoré nemajú ošetrené vracanie hodnôt mimo poradia.

    Ale vlastne to je celkom logické. V superskalárnych strojoch s rôznymi typmi inštrukcií (vykonávanými na rôznych jednotkách) sa musí stávať, že zatiaľ čo queue k jednej jednotke ešte čaká, tak sa objaví mladšia inštrukcia v inej v tej dobe voľnej queue.

    Napríklad kód:
    Add (latencia 1 clk)
    Load (5 clk)
    Store (5 clk)
    Sub (1 clk)

    Takže v dobe keď Sub príde na rad bude v L/S queue ešte stále inštrukcia Store, ktorá bude musieť čakať, aj keď ALU queue už bude voľná.

    Teraz je otázka, je lepšie obetovať xyz tranzistorov na to, aby sa takým prípadom zabránilo (aj za cenu poklesu výkonu), alebo bude lepšie pripustiť, že sa také situácie stávajú, a ošetriť to v neskoršej fáze pipeline (minimálne reorder buffer tam musí byť v oboch prípadoch), alebo aspoň nato upozorniť programátorov.

    Ešte dodám, netvrdím že jedno vlákno GPU = jedno vlákno Skylake, to určite nie. Ale myslím že 1 SM ~ 1 CPU jadro môže byť celkom blízko realite.