Nvidia studuje vícečipová GPU. Budoucí highendové čipy by mohly být slepence

7

Minulý měsíc AMD oficiálně vydalo serverové procesory pojmenované Epyc. Tato CPU jsou vyráběna z více kusů křemíku – v pouzdru jsou čtyři kusy čipu Zeppelin, který je společným základem i pro Ryzeny. Zdá se, že o podobnou technologii se zajímá i Nvidia, které by ji mohla použít u svých GPU. Svědčí o tom studie, kterou pracovníci firmy provedli ve spolupráci se studenty amerických univerzit a výpočetního centra při barcelonské univerzitě.

Cílem této práce bylo pomocí simulací prozkoumat, jaké efekty by vícečipová architektura mohla mít a jaké přínosy by mohla přinést. Motivací je kromě akademického zájmu patrně i možné použití této koncepce v budoucích GPU. Nvidia totiž pro enterprise sféru buduje čím dál větší a dražší GPU – poslední Volta V100 se dostala zcela mimo obvyklé meze. Ovšem výrobní technologie a stroje mají technické limity a tak nii při pominutí defektů na waferu nelze vyrobit čip větší, než je určitá hranice. Pokud by tedy přestal stačit nejistý pokrok výrobních procesů, možná Nvidii nezbude než čip rozdělit a vyrábět po částech.

Procesor AMD Epyc se skládá ze čtyř čipů, propojených v jednom pouzdře
Procesor AMD Epyc se skládá ze čtyř čipů, propojených v jednom pouzdře

Jak nasvědčuje dlouhodobé používání tzv. „MCM“ (multi-chip module) procesorů u AMD (Opterony 6100/6200/6300, Epyc) ale třeba i u IBM Power, tento přístup má své výhody. Návrh je ekonomický, jelikož čipy pro omezený trh lze využít i jinde. S menší velikostí jsou také čipy snáze a levněji vyrobitelné. V tomto případě pak také „slepenec“ dovolí vyškálovat množství výpočetních jednotek na úroveň, která se do jednoho čipu jednoduše nevejde.

Řešení MCM má ale i nevýhody, které omezují jeho výkon. Problém je zejména v tom, že jednotlivé čipy se svými paměťovými řadiči tvoří NUMA systém, kdy k části paměti je výrazně pomalejší přístup. Komunikace mezi dvěma čipy také musí překonávat delší vzdálenost a nemůže být tak efektivní jako komunikace v rámci jediného čipu (kvalita propojovací logiky se tak stává kritickou). Studie Nvidie se proto zaměřovala na to, zda by MCM řešení dokázalo dodat takové výkonnostní zisky, aby se tyto oběti vyplatily.

Studie navrhuje čtyřčipové MCM GPU s koherentním propojením a NUMA modelem
Studie navrhuje čtyřčipové MCM GPU s koherentním propojením a NUMA modelem

Pro výzkum byly údajně použité interní vývojové nástroje, simulátory a data, které se používají přímo k návrhu GPU, tudíž byla pokusy asi nejblíž reálnému vyzkoušení, jak je možné. Autoři tak mohli nasimulovat hypotetické výpočetní GPU Nvidia – zřejmě odpovídající architektuře Pascal – složené ze čtyř čipů s celkem 256 bloky SM (16 384 stream procesory) a porovnávat jej s největším reálně vyrobitelným jednočipovým protivníkem, případně teoretickým větším GPU, které by už reálně vyrobitelné nebylo.

Slepenec může proti monolitickému čipu ztrácet jen 10 % výkonu

Takové reálně vyrobitelné MCM GPU by při použití některých optimalizacích a propojení speciální koherentní logikou mohlo podle simulací být zhruba jen o 10 % pomalejší ve výpočetních úlohách proti onomu nevyrobitelnému monolitickému protějšku se stejným počtem jednotek. Přitom by ale mohlo být až o 45,5 % rychlejší než největší reálně vyrobitelné monolitické GPU. To znamená, že pro některá highendové nasazení v superpočítačích se tato konstrukce může vyplatit.

Jsou k tomu ale potřebné určité optimalizace, jak již bylo řečeno, které studie také zkoumala. Jejich cílem je zajistit, aby zpracovávaná data byla vždy co nejvíce lokalizovaná v konkrétním čipu a jeho paměti, tedy aby je sub-GPU nepotřebovala brát z pamětí sousedních čipů. V tom mohou pomoci úpravy scheduleru, aby rozděloval práci konkrétním stream procesorům s ohledem na to, kde mají fyzicky data. Stránkování paměti zároveň rozděluje fyzickou paměť na oddíly podle připojení k jednotlivým čipům, aby určitá sada dat pro jeden z čipů co nejméně míchala adresy z různých fyzických oddílů. Studie také navrhuje přidat do GPU novou mezipaměť, nazvanou L1.5 cache. Ta by byla sdílená pro všechny shadery a cachovala všechny přístupy do nelokální paměti v ostatních čipech. Její použití by mělo opět omezit zpomalující provoz na mezičipových komunikačních rozhraních.

MCM GPU s navrhovanými L1.5 cache pro komunikaci mezi čipy
MCM GPU s navrhovanými L1.5 cache pro komunikaci mezi čipy

 

Praktické využití MCM architektury není jisté

Celá tato studie je jen teoretická, takže nelze říci, že by šlo o přípravu na konkrétní produkt a že Nvidia s vícečipovými GPU, které by se podobaly zmíněným Epycům, skutečně chystá. Jde ale asi o řešení, které Nvidia sleduje pro případ potřeby a minimálně si ho nechává v šuplíku. Ovšem těžko říct, zda by se případně mohlo dostat i mimo výpočetní GPU a objevit se i v herní grafické kartě GeForce. GPGPU a HPC problémy jsou patrně více paralelizovatelné – ostatně tato GPU se používají ve velkých klastrech. Zatímco v oblasti HPC by MCM GPU údajně mělo být lepším řešením než prostě více samostatných GPU, v herní grafice by možná tak velký rozdíl proti režimu SLI být nemusel. MCM (NUMA) konfigurace by ovšem měla být logicky bližší jednomu GPU než SLI, takže by možná tato koncepce mohla být úspěšnější. Toto je ale asi otázka, kterou hodně dlouho neuvidíme rozřešenou.

Nvidia studuje vícečipová GPU. Budoucí highendové čipy by mohly být slepence

Ohodnoťte tento článek!

7 KOMENTÁŘE

  1. Téměř přesně před devíti lety jsem na ExtraHardware napsal takový prognostický článek, kde jsem předpovídal světlou budoucnost multi-GPU řešením, v podstatě z důvodů jmenovaných zde: nároky na výkon si žádají stále větší čipy, ty ale nelze zvětšovat donekonečna, u menších čipů se ušetří za návrh (protože se použijí i do masovějších jednočipových karet) a pro dvou- nebo vícečipové karty se dají vybrat ty nejlepší kousky.

    No a jak to dopadlo? Dvoučipové karty dneska ani AMD nedělá a výkonu je pro hry dost a dost. Se SLI/CF byl totiž vždycky nějaký problém, že něco s více čipy neškálovalo (třeba paměť u AFR), vznikal input lag, a obecně ztráty výkonu byly v desítkách procent a funkčnost hodně závisela na ovladačích a podpoře her.

    V HPC nasazení by to ale mohlo být zajímavější, tady nás netrápí neduhy AFR/SFR, prostě jen rozdělíme práci a jede se. A sice by čip byl asi pořád malosériovka, protože rychlá sběrnice, NUMA a double precision by herní čipy zbytečně prodražovaly a naopak výpočetní čip nepotřebuje TMUs a ROPs, ale i to by oproti mamutům jako V100 mohla být zajímavá úspora.

    • Nesouhlasím, Politika velkých monolitických čipů začíná vést výrobce do slepé uličky. Zmenšování litografie a navyšování výkonu (aby vůbec za něco stál) vede k k tomu, že výrobce musí držet velikost čipu stejně velkou a nebo dokonce ještě vyšší. To ale znamená, že neušetří místo na waferu a nesníží náklady. Ty spíš brutálně rostou a je to vidět i na cenách. Při této politice můžeme očekávat že nejvýkonnější modely herních GK na 5 nm, budou stát 2000 dolarů( možná i více ). Jediná cesta je poskládat menší čipy do bloků, Menší čipy jsou výrobně levnější ( mají menší chybovost a výtěžnost je vyšší) a dají se takto spřáhnout do slušného výkonu i malé GPU které mají z části deaktivovanou část jádra. Jedině takto se dají snížit náklady a prodat téměř vše co vám z linek vypadne z akceptovatelné ceny.

    • predpokladam ze tvurci toho HW predpokladaji ze s takovym spelencem si poradi jiz API samotne a vyvojari to uvidi proste jako jeden cip s urcityma parametrama, osttane dnesni API jiz vice „procesorove“ osazeni zas tak nelimituje, do par let se to odladi k „dokonalosti“ a nebude to zadny problem