A GM204 újításai
A Maxwell architektúra túlságosan nem változott a setup területén, a GM204 esetében az NVIDIA továbbra is egy raszteres és egy úgynevezett PolyMorph részre vágja a hagyományos értelemben vett setup motort. Az előbbi egységből négy található a lapkában, azaz egy raszter motor négy darab streaming multiprocesszor ellátásáról gondoskodik. Ezt a felállást a vállalat Graphics Processing Clusternek (GPC) szokta nevezni, és ez most sincs másképp. A raszter motor órajelenként 16 pixelt képes feldolgozni, ami természetesen a teljes lapkára nézve 64 pixelt jelent, és ez tökéletesen egyensúlyban van a 64 blending egységgel is, azaz a friss lapka ezen a ponton kiegyensúlyozott. Mindemellett a GM204 órajelenként négy háromszöget képes feldolgozni.
A streaming multiprocesszorokban található PolyMorph motor továbbra is a geometriával kapcsolatos munkálatokat végzi, és a korábbi rendszerekhez képest semmit sem változott a működése. Mivel 16 darab SMM található a GM204-ben, így értelemszerűen ez ugyanennyi PolyMorph motort eredményez. Ugyanakkor ez a részegység továbbfejlődött, de a módosítások leginkább az extrém tesszellálás melletti teljesítményt növelik, így a játékokban jellemzően alkalmazott minőségi szinteken nem történt előrelépés.
Hirdetés
Memóriakímélés itt is!
Manapság éppen aktuális beszédtéma a grafikus vezérlők által használt színtömörítési megoldások helyzete. Ha kiejtjük azt, hogy Delta Color Compression, akkor valószínűleg mindenkinek a Tonga cGPU új technikája jut eszébe. De ahogy korábbi cikkünkben írtuk, minden gyártó minden új hardvere használ valamilyen színtömörítési megoldást a memória kímélésére, ezek között viszont van hatékonyságbeli eltérés. Ebbe a körbe természetesen beletartozik az NVIDIA is a nem meglepő módon Delta Color Compression névre keresztelt technikájával. Ez is veszteségmentes tömörítés, ami két szín közötti eltérésre épül, de azt ki kell emelni, hogy a megegyező elnevezés ellenére a használt algoritmus eltérő, ami nagyrészt a tömörítés hatékonyságában érhető tetten.
Óhatatlanul felmerülhet a kérdés, hogy ha efféle Delta Color Compression megoldásokat már korábban is használtak a hardverek, akkor miért csak most beszélnek róla a gyártók? Ennek igazából egyszerű a magyarázata. Veszteségmentes színtömörítést implementálni viszonylag egyszerű, de jól működő megoldást fejleszteni már nagyon nehéz. Amíg ezek a technikák nagyjából 5-10%-os megtakarítást értek el a memóriahasználaton, addig kétségtelenül hasznosak voltak, de nem volt kiugró a jelentőségük. Az ARM ugyanakkor bőszen reklámozta AFBC technikáját, mert az 20-25%-kal hatékonyabban használta a memóriát, ami már elég jó eredménynek számított, illetve az AMD is azért kezdte hangsúlyozni új Delta Color Compression technikáját, mert az 40-50%-kal hatékonyabban használja a memóriát, ami szintén jelentős előrelépés.
A rózsaszín kijelölés jelenti a tömöríthető információkat egy képkockán
Az NVIDIA sem maradt adós ezzel, így saját Delta Color Compression fejlesztésük a GM204-es GPU-ban 17-29%-kal hatékonyabb memóriahasználatot nyújt, és ez is egy komoly fejlesztés. Azt is fontos hangsúlyozni, hogy a színtömörítési megoldások hatékonyságának mérésére nincs egzakt tesztprogram. Minden érintett cég a saját, belső tesztjei alapján adja meg a százalékokat, és ezek a tesztek eltérnek, vagyis az adatok direkten nem összehasonlíthatók. A hangsúly viszont a javuláson van, ebből a szempontból ugyanis az új megoldások kétségtelenül fejlettebbek az elődöknél.
A titkos(ított) tudás
A GM204 egyik sarkalatos pontja a hardver tudása. Bár a GPU a Maxwell architektúrára épül, de annak egy továbbfejlesztett verziójára, tehát többet tud, mint a GM107-es opció vagy éppen a Kepler sorozatú megoldások. Az NVIDIA azonban ennél tovább még nem megy, így a GM204 tudása szó szerint titkos. A vállalat hivatalosan annyit közöl, hogy csak a DirectX 12 véglegesítésénél, vagyis nagyjából egy év múlva fogják megmondani, hogy a GM204 pontosan mit támogat a Microsoft új API-jából, illetve mit nem. Az NVIDIA szerint ennek az az oka, hogy még nincs véglegesítve az API specifikációja, és rengeteg opcionális funkció van terítéken, amelyek beépítéséről, vagy éppen a már beépített újítások kivágásról még ma is komoly tárgyalások folynak. Nyilván mindenki a saját érdekeit nézi, miközben a Microsoft a legjobb funkcionalitást akarja letenni az asztalra, így az ötletek kidolgozásra kerülnek, de arról igen sokáig vitáznak az érintettek, hogy ezeket érdemes-e beépíteni, akár kötelező vagy esetleg opcionális formában.
Bár ez korábban nem szokott gondot okozni, hiszen az igen terjedelmes, architektúrákra vonatkozó dokumentációkból nagyon sok információt ki lehet nyerni, de az NVIDIA az Intellel és az AMD-vel ellentétben nem dokumentálja hardvereit. Bár annyiban védhető az NVIDIA álláspontja, hogy a felhasználóknak erről nem kell tudniuk, ráadásul a vállalat szerint a GeForce Experience program egy gombnyomással elvégez minden beállítást a felhasználó helyett, ugyanakkor az architektúrák dokumentációja így is nagyon hasznos lenne, mert alapvetően rámutathatna arra, hogyan működik egy rendszer. A publikus dokumentációkban többek között részletezve van az erőforrás-kezelés működése, amit egyszerűen rá lehet illeszteni az adott API leírására, így kideríthetők az egyes puffer típusokra vonatkozó adatok, illetve az egyes műveleteknél támogatott formátumok. Az NVIDIA esetében az említett adatokat a dokumentációk hiányában csak megtippelni lehet, ennek megfelelően nem tudjuk részletesen elemezni, és ezzel továbbadni olvasóinknak az adott architektúra pontos tudását.
Egyedül az NVIDIA által elmondottakra támaszkodhatunk, és a vállalat annyit el is árult, hogy az új lapka támogatni fogja a már elérhető és az érkező GameWorks effekteket. Ezen a ponton persze akkor lepődtünk volna meg, ha ez nem így lenne. A tesztkártyán végzett diagnosztika alapján le lehet írni, hogy az OpenGL 4.5, az OpenCL 1.1, a legújabb CUDA és a C++ AMP kezelése megoldott. A DirectX 11.2 esetében is elérhető már a D3D_FEATURE_LEVEL_11_1 szint támogatása, ami a korábbi hardverekből hiányzott, de a compute effektek térnyerésével nagyon fontos lesz, hogy ne csak 8, hanem minimum 64 UAV-t (Unordered Access View) kezeljen a hardver a futószalag összes programozható lépcsőjén. Mindemellett az említett szint többi újítása is hasznos. A Tiled Resources funkció esetében a támogatás természetesen adott, ráadásul már a TIER_2.
Annyit azért megjegyzünk, hogy a DirectX 12 bekötési modellje tartalmaz egy TIER_2 szintet, ami jelenleg egyetlen hardverre sem illik rá, tehát elvi alapokon abszolút logikátlan volt megalkotni. Ugyanakkor erős a gyanúnk, hogy a GM204 ezt a szintet támogatja. Ezt arra alapozzuk, hogy valamiért a TIER_2 szint megszületett, tehát ha a ma ismert hardverek közül egyik sem illeszthető rá, akkor valószínű, hogy a jövőben érkezik (vagy akár meg is érkezett) egy olyan lapka, amely ezt fogja használni. Mindemellett az NVIDIA Kepler és a GM107-ben alkalmazott Maxwell architektúra a 64 UAV-n kívül minden más követelményt teljesített. Például az SRV-k és a mintavételezők száma shader lépcsőnként 220-on, ami átszámítva 1 048 576. Feltételezhető, hogy ettől az NVIDIA a GM204 esetében sem tért el, hiszen a felújított Maxwell architektúra az előd alapjaira építkezik. Ezek után ugyan nem állíthatjuk biztosra, de minden jel arra utal, hogy a GM204 tudása megegyezik a DirectX 12 bekötési modelljének TIER_2 szintjével.
A cikk még nem ért véget, kérlek, lapozz!