Článek
Letos v létě uběhlo 30 let od představení přelomové herní konzole Nintendo 64 (N64). Když o ní lidé hovoří, obvykle se soustředí na hry, které daly 3D prostředí poprvé pocit intuitivnosti a živosti.
Méně se už ví, že tento průlom nebyl čistě výsledkem inovace v zábavním průmyslu. Stavěl na desítkách let inženýrské práce v oblasti vysoce výkonných výpočtů (high performance computing), zejména v oblastech, jako jsou letecká simulace, vědecká vizualizace či rendering v reálném čase.
Příběh moderních grafických procesorů (GPU) a AI superpočítačů se přitom často vypráví jen jedním směrem: počítačové hry daly vzniknout grafickým procesorům, které se později staly klíčovými prvky AI infrastruktury. To je ale pouze část celého příběhu. Dlouho předtím, než se GPU staly ústředním prvkem AI, firemní a vědecké výpočty už zavedly řadu principů, které stojí v základu pokročilé grafiky: paralelní zpracování, rychlý přenos dat, sdílenou paměť a těsně integrované systémy.
Společnost Silicon Graphics Inc. (SGI) pomohla tyto principy přenést do segmentu vizuální výpočetní techniky a její technologie i inženýrská kultura se později staly součástí HPE, kde byly dále rozvíjeny a rozšířeny tak, aby poháněly některé z dnes nejrychlejších superpočítačů.
Architektura za konzolí
Abychom pochopili, proč byla tato herní konzole důležitá, musíme se podívat na to, jak byla postavena. Systém ve svém jádru kombinoval dva hlavní prvky.
Prvním byl centrální procesor, neboli CPU, navržený tak, aby rychle a efektivně zvládal obecné úlohy. Druhým byla vyhrazená grafická a mediální jednotka vyvinutá s využitím know-how SGI a založená na principech používaných ve špičkových pracovních stanicích určených pro film, design a vědecké aplikace.
Zjednodušeně řečeno, konzole si práci rozdělila. Procesor se staral o celkovou logiku hry, zatímco grafický hardware se soustředil na tvorbu obrazu na obrazovce. Skutečný průlom však nespočíval v žádné konkrétní součástce, ale ve způsobu, jakým díky rychlé architektuře sdílené paměti spolupracovaly.
Řada technik, na nichž to bylo postavené, jako jsou nanášení textur nebo paralelní zpracování obrazu, se v profesionálních systémech používala už dříve. Výzvou bylo tyto principy přizpůsobit kompaktnímu a cenově dostupnému zařízení, a přitom zachovat dostatečný výkon, aby 3D grafika v reálném čase působila plynule.
Z toho přitom plyne jedno z nejdůležitějších ponaučení konzole pro dnešní dobu – výkon není jen o tom, jak rychle procesor umí počítat. Je také o tom, zda systém dokáže zásobovat každou svou část daty ve správný okamžik. Pokud se přenos dat stane úzkým hrdlem, bude i ten nejrychlejší procesor na světě trávit příliš času pouhým čekáním.
Rychlý čip není rychlý počítač
Druhé ponaučení vyplynulo přímo z grafiky, některé problémy jsou jednoduše příliš rozsáhlé na to, aby se efektivně řešily krok za krokem.
Vezměme si 3D grafiku. Než se na obrazovce cokoli objeví, musí systém každý objekt v prostoru transformovat: umístit jej, otočit, promítnout na obrazovku a vypočítat, jak reaguje na světlo. Na konzoli tuto práci zajišťoval vyhrazený vektorový procesor odvozený z pracovních stanic SGI.
Skutečná výzva přišla až poté – převést geometrii na pixely. Každý snímek vyžaduje výpočet barvy milionů pixelů, nanášení textur, řešení hloubky a prolínání povrchů, přičemž za jednu sekundu se musí takových výpočtů provést několik desítek. Tuto práci nelze provádět postupně, a proto byly grafické systémy navrženy tak, aby zpracovávaly pixely paralelně.
Právě paralelismus, tedy provádění řady podobných výpočtů současně, byl tím skutečným průlomem. Superpočítače v té době sice už dlouho využívaly paralelismus tím, že propojovaly množství univerzálních procesorů, aby společně řešily velké vědecké problémy.
Grafika však přidala jiný druh paralelismu, optimalizovaného pro aplikaci podobných operací na velké objemy vizuálních dat. Inženýři si uvědomili, že tento model orientovaný na propustnost může být užitečný i mimo samotnou grafiku: nenahradil vysoce výkonné výpočty založené na procesorech, ale doplnil je. GPU fungují jako akcelerátory pro vysoce paralelní zátěž, zatímco klasické procesory (CPU) se nadále starají o řízení a širší koordinaci systému.
Tento poznatek vedl k tomu, čemu dnes říkáme GPGPU, neboli obecné výpočty na GPU (general-purpose computing on GPUs). To je přitom klíčový stavební prvek AI. Trénování neuronové sítě se například z velké části redukuje na opakování jednoduchých výpočtů jako násobení a sčítání čísel napříč velmi rozsáhlými datovými sadami, což se dobře shoduje s hardwarem navrženým pro paralelní zpracování mnoha podobných operací.
To nás vede ke třetímu a nejdůležitějšímu ponaučení: rychlý čip automaticky neznamená rychlý počítač. Seymour Cray, otec moderních superpočítačů, kdysi slavně poznamenal: „Rychlé CPU dokáže postavit kdokoli. Trik spočívá v postavení rychlého systému.“
V éře exascale platí stejná logika i pro GPU. Na hrubém výkonu záleží, ale to, zda lze tento výkon efektivně využít, určuje architektura kolem procesoru.
Proč záleží více na systému než na čipu
3D konzole názorně ukázala, že pečlivá integrace dokáže učinit pokročilou grafiku prakticky použitelnou i v kompaktním spotřebním zařízení. Nešlo jen o to vzít technologii z pracovních stanic a zmenšit ji. Systém musel vyvážit výkon, náklady, paměť, přenos dat a odezvu v reálném čase v provedení navrženém pro obývací pokoj.
Moderní superpočítače řeší mnohem větší verzi téhož problému. Místo koordinace procesoru, grafického subsystému a paměti jedné konzole musí propojit obrovské množství CPU, GPU, paměťových systémů, úložných vrstev a softwarových komponent tak, aby se chovaly jako jeden stroj.
Bez tohoto návrhu na úrovni celého systému výkon rychle klesá, bez ohledu na to, jak výkonné jsou jednotlivé procesory.
Jedna nepřetržitá inženýrská cesta
Domácí konzole přetavily některé principy pro vysoce výkonné výpočty do spotřebitelské podoby – kompaktní, cenově uvážlivé, těsně integrované a zaměřené na výkon v reálném čase.
Dnes se stejné principy uplatňují opačným směrem a v radikálně větším měřítku. AI a vědecký výzkum závisí na systémech, které dokážou inteligentně rozdělovat práci, zpracovávat mnoho úloh paralelně a přesouvat data dostatečně rychle na to, aby výpočetní prostředky nezahálely.
Spojitost mezi herní konzolí a exascale výpočty nespočívá v tom, že by jedno přímo vytvořilo druhé. Spočívá v tom, že obojí odráží stejnou inženýrskou disciplínu, tedy navrhnout každou část systému tak, aby výkon nezůstal uvězněný v jediné komponentě.
Od návrhu sdílené paměti v konzoli až po architekturu nejrychlejšího superpočítače na světě Frontier zůstává otázka stejná – jak postavit systém, ve kterém nic nemusí čekat?
Odpověď se vyvíjela napříč pracovními stanicemi, superpočítači Cray a dnešními AI systémy, ale základní myšlenka zůstává stejná. Budoucnost vysoce výkonných výpočtů nebude definována jen rychlejšími čipy, dokonce ani čipy kvantovými. Bude definována schopností proměnit mnoho výkonných součástí v jeden souvislý systém.













