A fejlesztőeszközök
Az előbbi oldal alapján érezhető, hogy az AMD nagyrészt az önálló munkavégzést tartja szem előtt. A legtöbb szoftverpartnerük pont ezt kéri tőlük, tehát teljesen az igények kiszolgálása a cél. Ez a fejlesztőeszközökön és a különböző segítségeken is meglátszik.
Hirdetés
A fejlesztőeszközök között a GPU PerfStudio, a GPU ShaderAnalyzer és a CodeXL érhető el a partnerek számára. Ezek mindent biztosítanak, amelyek szükségesek a megírt kódok alapos elemzéséhez. Az AMD ráadásul a GCN architektúrák közül a S.I. (Southern Islands) és a C.I. (Sea Islands) verziókat publikusan dokumentálja, illetve legújabb V.I. (Volcanic Islands) opcióhoz is lehet kérni dokumentációt, de utóbbi egyelőre titkos, így csak a kiemelt fejlesztőpartnerek férhetnek hozzá.
A GPU PerfStudio részletesebben
A programozók számára sarkalatos pont az úgynevezett GCN disassembler, amely a CodeXL IDE (integrated development environment, azaz integrált fejlesztői környezet), ezen belül is a CodeXLAnalyzer modul része. Utóbbi az egyik legfontosabb tényező a mai PC-s játékfejlesztés világában, ugyanis a fejlesztők képesek szabványos HLSL (High Level Shading Language) kódokat írni a Microsoft specifikációi szerint, de azt már nem láthatják, hogy az abból fordított Direct3D bájtkód hogyan fordul le az adott hardver utasításarchitektúrájára. Mint ismeretes ez az egész rendszer igen összetett, ami azt jelenti, hogy a magas szintű kód több lépcsőn keresztül jut el a hardverhez, vagyis több fordítás szükséges ahhoz, hogy az adott shader program egyáltalán fusson. Ebből a szempontból ráadásul különböznek is az API-k. Többek között a Microsoft DirectX API-jában van egy szabványos referenciafordító, amely a HLSL shadert előbb egy szabványos reprezentációra fordítja, ami tulajdonképpen a Direct3D bájtkód, majd az adott grafikus meghajtó ezt a kódot fordítja le az adott hardver utasításarchitektúrájára.
A GCN disassembler azt a célt szolgálja, hogy a fejlesztő a kész Direct3D bájtkódból kapjon egy olyan állományt, amely pontosan azt tartalmazza, hogy a hardveren az adott kód hogyan fog futni. Mivel a GCN architektúrák dokumentációi publikusak, illetve idővel azok lesznek, a fejlesztő képes látni, hogy a programja a hardver szintjén hol ütközik limitekbe. Az említett információkat kiegészíti a CodeXLAnalyzer a skalár- és a vektorregiszterek, illetve a helyi adatmegosztás (LDS) használatával kapcsolatos statisztikákkal, vagyis a programozó egy komplett képet kap arról, hogy mit kellene változtatnia a HLSL kódon, hogy az a hardver szintjén gyorsabban fusson.
A GCN disassembler ahhoz is segítséget nyújt, hogy a fejlesztők publikus csatornákon keresztül is adhassanak egymásnak tanácsot a hardver jobb kihasználására vonatkozóan. Utóbbi főleg azért nem jellemző, mert a gyártók rengeteg úgynevezett NDA-s, azaz titoktartási megállapodás alá eső információt osztanak meg a partnereikkel. Ezeket csak egy szűk fejlesztői csoport ismeri még egy nagy stúdión belül is. Ha azonban valaki talál valami új és értékes optimalizálási lehetőséget a GCN disassembler használatával, akkor azt szabadon megoszthatja a világgal. Ennek megfelelően ezt az optimalizálási lehetőséget más fejlesztők is elkezdhetik használni, ami összességében gyorsabb kódokat eredményez.
Speciális igények
Az AMD koncepciójának másik sarkalatos pontja a fejlesztőpartnereik speciális igényeinek kiszolgálása. Ennek egyik eleme a Mantle API, amelyet jelenleg csak kérésre érhetnek el az érdeklődők. Ezt a rendszert a fejlesztők kérték, és az AMD saját bevallása szerint majdnem 100 partnerrel dolgoznak jelenleg. Az érintettek 20%-a professzionális szoftvereket fejleszt, míg a többi partner játékfejlesztő. A hivatalosan bejelentette adatok szerint a Mantle API hét videojáték-motorba biztosan beépül, vagy akár már be is épült. Egészen pontosan a Frostbite (Frostbite Team), a CryEngine (Crytek), a Nitrous (Oxide Games), az Asura (Rebellion), a Gamebryo (Gamebase), a LORE (Firaxis) és a Panta Rhei (Capcom) rendszerek legújabb verzióiban van, illetve lesz jelen. Erről az irányról a PROHARDVER! hasábjain belül sokat lehet olvasni, illetve a tudástár felületen is folyamatosan frissül az API-t támogató játékok listája, így ezúttal csak említés szintjén foglalkozunk vele. A lényege továbbra is a fejlesztőpartnerek speciális igényeinek kiszolgálása marad, illetve nyilván az alacsony szintű hardverelérés következtében hatékonyabb optimalizálásra van lehetősége a stúdióknak.
A Mantle részletesebben
Az AMD TrueAudio is egyfajta speciális igénynek nevezhető, és ezt is kiveséztük már PROHARDVER! hasábjain belül. Ehhez is elérhető egy fejlesztőkörnyezet, de csakis zárt formában. Utóbbi egy komplex egyezmény eredménye, hiszen a PlayStation 4 konzol is azt a hardveres blokkot használja, amelyiket az AMD termékei, tehát erről nem lehet túl sok információt kiadni. Maga a TrueAudio leginkább a Sony igénye volt, és ha már elkészült a hardver, akkor az AMD úgy gondolta, hogy beveti a PC-n is. A TrueAudio alapkoncepciója nem különbözik a többi hardveres gyorsítást lehetővé tevő hangkártyától, viszont a szoftveres oldalon az AMD az elterjedt Audiokinetic Wwise, Firelight fmod és Microsoft XAudio2 middleware-ek direkt támogatását célozza, mivel a másik út, vagyis az OpenAL-re való támaszkodás a Creative-nak nem jött be.
A cikk még nem ért véget, kérlek, lapozz!