Memóriakímélő Catalysten dolgozik az AMD?

Információink szerint az AMD nagyjából másfél éve egy új Catalyst kernel meghajtón dolgozik, amely egy nagyon érdekes fejlesztésre fókuszál, mégpedig a játékok videomemória-használatának mérséklésére. Már az ötlet is egészen érdekes, mivel a mai meghajtók úgy működnek, hogy a WDDM felületen keresztül kapott utasításokat követve elvégzik a szükséges allokációt, és ezeket a létrehozott memóriaszegmenseket addig nem bántják, ameddig a WDDM a törlésükre nem ad utasítást. Ha szimplán betelik a memória, akkor a kernel meghajtó dolga erről értesíteni a operációs rendszert, amely intézkedik a videomemória felszabadítását illetően.

Hirdetés

Ennek a rendkívül egyszerű modellnek a kialakulása több éves múltra tekint vissza, és akkor erre szükség is volt, mivel a grafikus vezérlők finoman szólva is buták voltak, de a parancsokat akkor is igen gyorsan végrehajtották, persze a kor sebességszintjének megfelelően. Ugyanakkor az előírt modell rendkívül pazarló is egyben, de ez senkit sem érdekelt, mert minden generációváltásnál jöttek új memórialapkák, amelyek megduplázták a kínált kapacitást, illetve azt sem szabad elfelejteni, hogy jellemzően a memóriabusz is szélesebb lett, ami azt jelentette, hogy több memóriát kellett használni, még akkor is, ha amúgy nem volt rá reális indok. Ez ahhoz vezetett, hogy a grafikus vezérlők rendkívül pazarló memóriahasználatával egyetlen gyártó sem törődött, mert a jobb memóriákat úgyis meg kellett vásárolni, vagyis mérnöki és rendszerprogramozói szinten költségkímélő volt a WDDM pazarló modelljét követni.

A nagy kérdés, hogy lehet-e bármit tenni a videomemória jobb kihasználása érdekében? Ezzel kapcsolatban megkérdeztünk pár fejlesztőt, és az egységes válasz az volt, hogy igen. A fejlesztők szerint a pazarlás problémáját maga a WDDM okozza, ugyanis egy lefoglalt memóriaterület felszabadítása rengeteg processzoridőbe kerül. A mai meghajtók éppen ezért úgy vannak felépítve, hogy addig nem kérnek engedélyt a törlésre a WDDM felülettől, ameddig van szabad memóriaterület. Ez azt eredményezi, hogy egy játék futtatása során a VRAM-ban tárolt tartalom jellemzően kétharmad része csak ott van a memóriában, de igazából hozzá sem nyúl a program. A Rebellion vezető programozója szerint jó példa a pazarlásra, hogy a Sniper Elite 3 Mantle módja kevesebb videomemóriát kér, mint a DirectX 11-es mód, még úgy is, hogy mindig maximális részletességű textúrákat tölt be.

A fejlesztők szerint a DirectX 11 API esetében az aktuálisan alkalmazott allokációs stratégia átdolgozása egy ingoványos terep, de mivel soha egyetlen gyártó sem vizsgálta meg a kérdést, így bőven elképzelhető, hogy meg lehet oldani hatékonyabban. Itt arra kell koncentrálni, hogy a grafikus meghajtó kernel modulja képes egy lefoglalt memóriaterületet kvázi teljesítményvesztés nélkül törölni, ha nem megy át a törlés előkészítése a WDDM igen sok processzoridőt felemésztő ellenőrzési procedúráján. Ez ugyan nem ajánlott konstrukció, de kétségtelenül megvalósítható. Az egyetlen dolog amire figyelmet kell fordítani, hogy a meghajtó biztos legyen a dolgában és ne töröljön olyan adatot, amelyre a programnak szüksége lesz.

A törléshez egyébként szükség lenne egy alternatív felületre is, amely a WDDM-mel ellentétben tudja, hogy mi van a videomemóriában és mi nincs már ott. Ez fontos, mivel az AMD a WDDM működésébe nem szólhat bele, de felhúzható egy extra virtuális réteget a grafikus vezérlő és a WDDM felület közé. Azt pontosan még nem tudni, hogy ezt az AMD hogyan kívánja megoldani, nyilván elméleteket lehetne gyártani, de idővel úgyis kiderül, hogy mi lesz a titok.

A PC-s ipar esetében a gyártók amúgy megkülönböztetik a valós és az elméleti problémákat. Minden esetben azokra a gondokra állítják rá a rendszerprogramozóikat, amelyek ténylegesen limitálják a hardverek sebességét. Az elméleti problémákkal mindenki tisztában van, de elképzelhető, hogy sosem jelentenek majd komoly limitációt, így senki sem dolgozik a potenciális megoldásokon. Egyszerűen jóval egyszerűbb egy új hardvert kiadni, mint éves szintű szoftveres fejlesztéseket eszközölni a probléma kezelése érdekében.

Információink szerint a Tonga cGPU sem véletlenül került piacra. Ez a termék egy lényegében működő VGA és egy kísérleti nyúl is egyben, így az allokációs stratégia optimalizálására vonatkozó konstrukciók az előző évi meghajtókban is kipróbálásra kerültek, persze szigorúan az AMD Radeon R9 285-re korlátozva. Állítólag az AMD tudni szerette volna, hogy az irány amin dolgoznak viszonylag nagy felhasználóbázison belül okoz-e bármilyen problémát. Itt azt érdemes figyelembe venni, hogy még relatíve kevés eladás mellett is nagyságrendekkel több Radeon R9 285 van a világon használatban, mint amennyit az AMD a saját laborján belül reálisan képes tesztelni. Ha fél év alatt nem érkezik olyan hibabejelentés, amely visszavezethető az allokációs stratégia optimalizálására, akkor az megbízhatónak minősíthető, ha pedig érkezik, akkor is javítható. Ez lehet egy magyarázat arra, hogy az AMD miért nem engedélyezte partnereinek a 4 GB-os Radeon R9 285-ös VGA-k építését. Egyszerűen a vállalat arra volt kíváncsi, hogy nagy tömegek szintjén mennyire stabilan működik a tervezés alatt álló újításuk, és ennek tesztelésére egy 2 GB-os VGA az optimális.

  • Kapcsolódó cégek:
  • AMD

Előzmények

Hirdetés