Közösen fejleszt hardvert a felhőbe az AMD és az Oxide Games

Az érintettek egyelőre nem hajlandó elárulni semmit az együttműködés tényén túl, de azért sejthető, hogy mire megy ki a játék.

Az AMD és az Oxide Games bejelentette, hogy több éves partnerszerződést írtak alá egymással, amely révén a két cég közösen fogja továbbfejleszteni a felhős játékszolgáltatások alapjainak számító hardvereket, elsődlegesen a grafika szempontjából. Ez meglehetősen fura kapcsolat így elsőre, hiszen az AMD a hardverek, míg az Oxide a szoftverek piacára dolgozik. Többek között utóbbi vállalat felelt a Nitrous videojáték-motorért, ami elég sok szempontból innovatívnak számított a megjelenésekor, például texel shading leképezőt használt, illetve először biztosított a DirectX 12 API-val egy olyan több GPU-s módot, ahol Radeon és GeForce VGA-k dolgozhattak együtt, tehát technológiailag alaposan megelőzte a korát.

Mindezeken túl, nehéz konkrétan meghatározni, hogy mi is az új partnerkapcsolat valós célja, ugyanis az együttműködés tényén kívül egyik érintett sem hajlandó többet elárulni. Azért nem hagytuk ennyiben dolgot, és megpróbáltunk minél több információt kideríteni, amelyek alapján a társulásnak köze lehet egy korábbi fejlesztéshez, amelyről három éve írtunk. Ebben az Oxide Games egyik előadására fókuszáltunk, amelyben a vállalat kifejtette, hogy az ismert módoknál sokkal hatékonyabban is ki lehetnek használni a több GPU-s rendszereket. Ez persze leginkább a Nitrous működése miatt igaz, mivel ennek a leképezője abból a szempontból különleges, hogy az árnyalás függetleníthető a raszterizálástól, köszönhetően annak, hogy előbbi az objektumtérben valósul meg. Ráadásul az említett videojáték-motor 2.0-s verziójánál az árnyalás aszinkron compute-ban fut a raszterizálással, azaz az egységek és terep árnyalása teljes egészében át van rakva compute shaderre. Ez egyrészt egy GPU-n belül is hatékonyabb munkafolyamatokat biztosít, másrészt innen jön egy több GPU-s reformra vonatkozó ötlete. Ilyen struktúrájú feladatkezelés mellett megoldható az, hogy legyen egy elsődleges GPU, amely foglalkozik a raszterizálással, és ennek legyen egy vagy akár több, kvázi szolgaként működő társ-GPU-ja, amely a függetlenített árnyalási fázisokat számítja.

Hirdetés

Pusztán elméletben abszolút működőképes modellről beszélünk, megvan hozzá a technológia az explicit API-kban, a modernebb operációs rendszerekben, illetve tulajdonképpen hardveres formában is, bár utóbbi szempontból vannak azért korlátok. Az egyik ilyen, hogy a korábban uralkodó több GPU-s konstrukciók leépülésével a gyártók is elengedték ezt az irányt. Lényegében csak a HEDT piacra szánt processzorok rendelkeznek elég sok PCI Express sávval, hogy kellő mennyiségű GPU-t támogassanak egy efféle számítási modellhez, vagyis hiába működhet elméletben ez a lehetőség nagyszerűen, a játékosok döntő többségének nincs meg hozzá a platformja. Nem mellesleg a VGA-k árai is olyan mértékben nőttek, hogy a piac jelentős része amúgy sem számol egy GPU-nál többel. Mindez az asztali piacot tekintve egyértelmű akadály.

Persze van más probléma is. A Nitrous koncepciója papíron annyi GPU-ig működik, amennyi független árnyalási fázist lehet futtatni, plusz ugye az elsődleges GPU. A gyakorlat nyilván nem ilyen egyszerű, ott számolni kell a feladatok átadásának idejével is, de a futtatott leképező komplexitásától függően, azért pár tucat GPU-t be lehetne fogni, és ezek bizony képesen lennének egymás mellett dolgozni. Igen ám, de ott van még az adatmásolás kérdése, amivel még PCI Express 4.0 mellett sem kedvező a helyzet, ugyanis az a sok szolgaként működő grafikus vezérlő egy, csak raszterizálásért felelős hardver felé írogat, és ez egy bizonyos számú erőforrás fölött könnyen limitet jelenthet. Látható, hogy elmélet ide vagy oda, azért a hardver szintjén akadnak nehézségek, és ezek megoldása lehet az AMD és az Oxide friss partnerkapcsolatának a célja.

Az szinte bizonyos, hogy az Oxide az alapötletük, asztali piacon történő terjesztéséről letett. Egyszerűen a mai körülmények és persze árak mellett nincs reális esély arra, hogy a játékosok elkezdjenek rengeteg PCI Express 4.0-s sávot kínáló Ryzen Threadrippereket venni, illetve ezek mellé három, négy, vagy akár több GPU-t társítani. Bármennyire is innovatív az újféle több GPU-s koncepció, ez a többség számára megfizethetetlen befektetést igényelne.

Marad tehát a számítási felhő, ahol azért nem lefutott ez a dolog. Ugyanakkor a ma működő felhős játékszolgáltatások furcsasága, hogy a kiépítés szintjén maximum egy GPU-ra korlátozzák az ügyfeleket. Ennek persze gazdasági okai is vannak, de felmerülnek komoly technikai kihívások, ugyanis rendkívül nehéz a mai összeköttetési formák mellett jó skálázhatóságot elérni. A legnagyobb gondot ilyenkor mindig a memória jelenti, ugyanis a különálló grafikus vezérlők saját fedélzeti tárral rendelkeznek. A Google például ezt a problémát a HBCC-vel kezeli, aminél az alkalmazás számára maximum 512 TB-nyi címezhető virtuális memória érhető el a teljes rendszer belső hálózatán keresztül, de az összeköttetések késleltetése még mindig limitáló. Nem véletlen, hogy a keresőóriás folyadékszimulációval prezentálta a Stadia ilyen irányú képességeit, mivel ennél nem kritikus fontosságú, hogy a szimuláció lépést tartson az adott képkocka számításával, kvázi késhet is egy picit, az eredmény tekintetében nem fogja észrevenni senki. Az Oxide modelljénél viszont a szolgaként működő társ-GPU-k az adott képkockához tartozó árnyalási fázisokat számítják, vagyis muszáj a tökéletes szinkront tartani, ami bizony még a számítási felhő szintjén is hatalmas gondot jelent.

A jó hír, hogy a probléma megoldható. Egyszerűen csak gyors összeköttetésre van szükség. Ha már a AMD-vel kötöttek szerződést, akkor például az Infinity Fabric interfészre. Ez tulajdonképpen direkt az ilyen, alapvetően késleltetésből eredő gondok megoldására való, illetve az így nyerhető memóriakoherencia is jól jön.

Az Oxide célja valószínűleg az, hogy biztosítson egy leképező szintjén igen tág határok között skálázódó videojáték-motort, amit nyilván a felhős játékszolgáltatásokat biztosító cégek licencelhetnek, majd bizonyos feltételekkel továbbadhatnak a játékfejlesztőknek. Itt az utóbbi réteg egyértelműen csak közvetve célozható, mivel magához a szoftverhez szükség lesz majd azokra a hardveres alapokra, amiket az AMD fejleszt hozzá, és amelyekkel megoldható, hogy az adott képkockához tartozó árnyalási fázisok kiszámításának tökéletes szinkronja. Ha az Oxide feldolgozási modellje hardveres oldalról megfelelő támogatást kap, akkor a fejlesztők hozzájuthatnak több száz TFLOPS-nyi számítási kapacitáshoz, méghozzá úgy, hogy azt nem csak olyan dolgokra költhetik el, mint például a folyadékszimuláció, miközben az árnyalást, illetve a raszterizálást még mindig csak egy GPU végzi, hanem gyakorlatilag bármi megvalósíthatóvá válik.

Azóta történt

Előzmények