A motorháztető alatt rejtőznek az Intel Skylake IGP-jének újításai

Az Intel Skylake lapkájának IGP-jéről korábban már írtunk, és az akkor elérhető adatok alapján már azt lehetett mondani, hogy a rendszerről viszonylag sok információ sejthető, vagy ezek egy része konkrétan ki is derült. A megjelenéshez közeledve (ami persze még így is az év második felére esik) azonban megszokott, hogy az új adatok folyamatosan érkeznek, így a Gen9 architektúra tartalmaz még, ha nem is alapvető, de hasznos újításokat.

Az egyik érdekes irány, amit az Intel komolyan vesz az aszinkron compute. Ez a képesség leginkább a PlayStation 4-ből ismert, illetve az Xbox One is támogatja, de az új API-kkal a PC-s grafikus vezérlőkkel is elérhető lesz. Az aszinkron compute lényegét korábban már összefoglaltuk, és az is érthető, hogy miért van oda érte az iparág, mivel a grafikus vezérlőkön a feldolgozás közel sem olyan hatékony ma, mint azt sokan gondolják, így bizonyos feladatok elvégzésénél előfordulhat, hogy a shader processzorok akár 90%-a nem csinál semmit.

Persze az aszinkron compute csak elméletben, illetve mondhatni a programozók nézőpontjából tekinthető relatíve egyszerű iránynak, viszont a hardverek már nagyon eltérőek lehetnek, vagyis nem mindig ad előnyt az általános számítási feladatok szabad shader processzorokra történő ráeresztése. Ahhoz, hogy ebből komoly sebességnövekedés legyen alapvetően olyan architektúrára van szükség, amely úgynevezett stateless compute, vagyis az általános számítási feladatokhoz nem szükséges egy előre meghatározott állapotban működtetni a hardvert. Az ilyen rendszereket viszont nagyon nehéz megvalósítani, és alapjaiban kell az architektúrát felépíteni hozzá, így nem véletlen, hogy ezt a működési modellt csak az AMD GCN architektúrája támogatja.

Az Intel radikálisan új GPU-architektúrát nem fog bemutatni a Skylake-ben, de az aszinkron compute lényeges funkció, így a hardverállapotok megváltoznak. A Broadwell IGP-je már eleve egy hardverállapot alatt kezeli a pixelfeldolgozást és a ROP-hoz kapcsolódó feladatokat, ami egyébként általánosan bevett szokás a modern grafikus vezérlőknél, hiszen sok állapotváltást lehet így megspórolni. A Skylake IGP-je annyiban módosul, hogy a compute feladatokat is bevonja pixelfeldolgozáshoz és a ROP-hoz kapcsolódó hardverállapot alá. Ez annyiban hasznos, hogy már most látszik az az irány, miszerint a mai videojáték-motorokban a shadow mapoktól az átlátszóság számítása előtti fázisáig nagyon nagy részben kihasználatlanok a shader processzorok, vagyis programozók számára is az a legcélszerűbb, ha az aszinkron feladatokat a shadow mapok számításához szinkronizálják. A Skylake IGP-je az újításokkal ezt hatékonyabbá teszi, hiszen az említett fázisoknál elkerülhetők az állapotváltások, annak ellenére, hogy nem stateless compute architektúráról van szó.

A fentiek mellett szintén módosul a Skylake IGP-jének parancsprocesszora. Ez már a Broadwell IGP-jében is kapott egy alapos ráncfelvarrást, mivel fel kellett készülni a beágyazott parallelizmusra, amely az OpenCL 2.0-nak az egyik fontos képessége. Ugyanakkor az új grafikus API-kkal több olyan terület válhat szűk keresztmetszetté, amely korábban egyáltalán nem jelentett gondot. Többek között senkit sem érdekelt, hogy a parancsprocesszor mennyire átgondoltan van felépítve, mivel sosem járatták a programok ezeket a részegységeket a határon. Egyszerűen sokkal hamarabb elfogyott a processzor oldalán a teljesítmény, mert a GPU parancsokat rengeteg többletterhelés árán, ráadásul csakis egy szálon lehetett beírni a parancspufferekbe.

Az új API-kkal a GPU parancsokat több szálon is be lehet írni a parancspufferekbe, illetve ezek generálása nagyjából egymilliószor is gyorsabb lehet, ami megtöbbszörözi a parancsprocesszor terhelését is. Ilyen körülmények között a parancsprocesszor szűk keresztmetszetté válhat, vagyis az áteresztőképességén javítani kell. A Skylake IGP-jének parancsprocesszora egy grafikus parancs mellett több compute parancsot képes fogadni. Erre már a Broadwell IGP-je is képes volt, de a Skylake IGP-je esetében a támogatott compute parancslisták száma megnő, ami növelheti a hardver belső kihasználását az általános számításoknál.

Ez az irány egyébként nem egyedi. A játékfejlesztők vezérplatformja a PlayStation 4, amely 64 compute parancslistát is támogat, vagyis a PC-s GPU-architektúráknak is el kell érni, vagy meg kell közelíteni ezt a szintet.

  • Kapcsolódó cégek:
  • Intel

Előzmények

Hirdetés