GPU chipletekhez igazodó szoftveres háttérrel kísérletezik az ipar

Megérné a piac számára több kisebb lapkával biztosítani a nagyobb teljesítményt, de a jelenlegi szoftveres lehetőségek nem jók, bár nem is tragikusak.

A processzorpiacon egy ideje már megfigyelhető az a változás, hogy a monolitikus lapkák helyett az Intel és az AMD a chipletszerű dizájnok felé baktat. Az előbbi cég persze a processzort magát még nem választotta szét, de számos olyan mobil fejlesztéssel rendelkeznek, ahol egy tokozáson van a CPU és a vezérlőhíd, illetve a Kaby Lake-G esetében még egy dedikált GPU is, és tulajdonképpen ezekre is rá lehet mondani, hogy chipletek. Az persze vitathatatlan, hogy az AMD fejlesztette ezt a megoldást tökélyre, hiszen a cég a Zen 2 magokat tartalmazó fejlesztésnél már külön CPU chipletet alkalmaz, vagyis mindössze két-három lapkából lefedhető a teljes termékskála, az asztali piac aljától, a szerverpiac tetejéig. Mindez a fejlesztési költségek tekintetében lényegesen előnyösebb a korábbi modellnél, ahol ehhez 4-8 lapkára is szükség van, arról nem is beszélve, hogy sokkal kisebb vállalt a kockázat is.

A GPU-piac egy hasonló problémával küzd, ugyanis a teljes termékskála lefedéséhez szükséges úgy 3-5 lapka, ami a dráguló gyártás és fejlesztés miatt nem éppen optimális. Nem véletlen, hogy az utóbbi időben itt is felütötte a fejét, hogy jöhetnének a chiplet dizájnok, de ezt könnyebb mondani, mint kivitelezni. Annál is inkább, mert a GPU-k nagyon másképp működnek a CPU-khoz képest, tehát amíg a processzornál nem igazán jelent gondot az a chipletszerű felépítés, amit például a legújabb AMD fejlesztések használnak, a GPU-knál azért lenne vele probléma.

A nehézséget az okozza, hogy amíg a CPU-knál a lokalitási elvre igencsak lehet építeni, addig a GPU-k tekintetében ez csak rendkívül korlátozottan használható. Gondoljunk csak bele, egy processzormag egy vagy maximum pár szálat futtat, és eközben ma már óriási gyorsítótárak beépítésére van lehetőség, amiből egyébként a processzorok, pont a lokalitási elv miatt profitálnak is. Ilyen szempontból a belső busz terhelése viszonylag alacsony, tehát sokkal többet lehet nyerni azon, hogy egy nagy processzort több részre szelnek a mérnökök, mint amennyit buknak azon, hogy a chipletek közötti kommunikáció picit lassabb a monolitikus felépítésű dizájnnál.

A GPU-k multiprocesszorai ezzel szembe sok száz szálat futtatnak, és ezek között eléggé sűrűn is váltanak, ráadásul egymás közötti kommunikáció is van. Többek között az is előfordulhat, hogy egy szálcsoport adatot biztosít egy másiknak, de az már nem biztos, hogy ugyanazon a multiprocesszoron belül dolgozik. Különösebb gond nincs, hiszen legvégső esetben erre van a GPU fedélzeti memóriája, de a mai architektúrák megosztott gyorsítótára is elég nagy, csak viszonylag nagy esély van arra, hogy az adat már nem lesz ott, mire arra szükség lenne. Emiatt az egyes dizájnok tartalmaznak egy külön kommunikációra fenntartott, kisebb kapacitású, de nagyon gyorsan elérhető adatmegosztást is. Nem is az a lényeg miképp jut el az adat az egyik multiprocesszorból a másikba, hanem az, hogy a belső buszrendszert eléggé ki kell gyúrni egy GPU-nál, hogy az egész optimálisan skálázódjon, és itt bizony lehetnek gondok a chiplet dizájnhoz tartozó külső interfésszel.

Ezt a problémát többféleképpen is meg lehet oldani. A gyors, alacsony késleltetésű interfészek sokat segítenek, de ezek fogyasztása arányaiban nem túl kellemes, tehát itt azért nem lehet mindent megengedni. Opció esetleg egy vezérlőlapka, amely megpróbálja minimalizálni a teljes rendszer buszterhelését, csak így közel sem biztos, hogy optimális lesz a GPU chipletek kihasználása. A teljesen hardveres megoldásokon túl viszont vannak szoftveres módok is, és erre vonatkozóan már egyre több információ jut el a gyártók partnereihez. Ezzel kapcsolatban megtudtuk, hogy az iparági szereplők egy olyan szoftveres háttérrel kísérleteznek, amely működésben is a GPU chipletekhez lett tervezve. Ebben részt vesz a Microsoft és a Khronos Group is, ami valószínűleg annak köszönhető, hogy az egész nagyon egyszerűen beépíthető lenne a DirectX 12 és a Vulkan API-kba.

Információink szerint a koncepció az, hogy a processzor által kiszámolt jelenetet több nézőpontra lehetne továbbítani, és az egyes chipletek csak egy-egy nézőpontról készítenének képet, majd a végső képkocka a memóriában állna össze. Valójában a DirectX 12 és a Vulkan már ma is tartalmaz mindent, ami ehhez kell, a gondot az jelenti, hogy az efféle működést a fejlesztőknek kell manuálisan beállítani. Ugyanakkor úgy tudjuk, hogy egy chipletszerű GPU-dizájn kapna a meghajtóban egy paraméterezést, amelyet a program kiolvashatna, és azt beállíthatná a leképezés során, vagyis tökéletesen lehetne igazodni az adott fejlesztés konfigurációjához, méghozzá anélkül, hogy ez többletmunkát jelentene a fejlesztőknek.

Példává alakítva ezt, ha mondjuk lenne egy négy GPU chipletet kínáló dizájn, akkor az adott jelenetet négy nézőponttal küldené az API a grafikus vezérlő felé, és a négy GPU chiplet egy-egy nézőpontot számolna. Ezzel a natív felbontás negyede lenne egy lapkára a terhelés, és itt ez nem csak a pixelekre vonatkozik, valójában minden külön chiplet csak a saját tartományát számolná még a geometria tekintetében is. Az így keletkező négy képet összerakni már tényleg nem nagy probléma. Ez az egyik chipletre egy picit nagyobb terhelést ró, de a teljes számításhoz képest ez a munka maximum mérhető, a gyakorlatban viszont már nem érezhető hátrányt jelent.

Technikailag tehát abszolút nem beszélhetünk komoly innovációról, elvégre az alapképességek már elérhetők a grafikus API-kban, ezeket csupán annyira kell kiegészíteni, hogy a fejlesztőknek ne kelljen a manuális konfigurálással törődni. A nagy kérdés, hogy ebből mi lesz. Annyi biztos, hogy eléggé logikus lépés lenne a chipletek felé elmozdítani a GPU-kra vonatkozó fejlesztést, hiszen komoly költség lenne megspórolható, hogy nagyjából fél tucat lapka helyett, elég lenne egy-kettőt tervezni, majd azokat egymás mellé pakolgatni egy tokozásra. Márpedig, ha erre megyünk, akkor a szoftveres háttér is kell, így az erre vonatkozó kísérletek kritikusak, a szabványosság miatt pedig lényeges lenne már úgy kezdeni, hogy helyből általánosan alkalmazható megoldás születik. Annyit még megtudtunk, hogy az egész koncepción leginkább az Intel lovagol, valószínűleg nekik lesz leghamarabb chipletszerű GPU-dizájnjuk, és nem sok támogatásra számíthatnának, ha csak egy specifikus megoldást adnának ki, emiatt fontos bevonni a fejlesztésbe az ipart, az úgyis egyértelmű, hogy erre kell menni a GPU-k tervezését illetően.

Azóta történt

Előzmények

Hirdetés