Teljesen visszatért az aszinkron compute az első generációs GCN-es Radeonokra

Már a 17.2.1-es csomagban is működött a rendszer, de teljes értékű teljesítményt a 17.5.1-es verzió ad.

Még az előző év legvégén írtunk arról, hogy gyakorlatilag megszűnt az aszinkron compute az első generációs GCN-es Radeonokon. Röviden annyi történt, hogy a 16.4.2-es Radeon Software esetében történt egy módosítás, ami után a GCN1-es Radeonokon, számos alkalmazásra limitációk lettek bevezetve. Ez gyakorlatilag kimerült abban, hogy több DirectX 12-es program esetében a meghajtó, GCN1-es Radeon esetén a fő parancslistába töltötte be a compute parancsokat is, megszüntetve ezzel az aszinkron compute lehetőségét.

Hirdetés

A fentiek oka az volt, hogy az AMD rendszerprogramozói még a 2016-os esztendő elején találtak néhány esetet, amikor a GCN1-es Radeonok a programok aszinkron compute implementációjára nem úgy reagáltak, ahogy kellett volna. Ez ugyan a mérhető sebességre nem volt hatással, de kellemetlen akadásokat eredményezhetett az alkalmazások futtatása közben. Múlt tavasszal az AMD úgy döntött, hogy az érintett programoknál, az érintett hardverekre úgy állítják be a meghajtóba épített profilokat, hogy a compute parancsokat inkább küldjék vissza az operációs rendszernek, ami gyakorlatilag egyenlő azzal, hogy nem lesz compute queue, így nem fog működni az aszinkron compute.

A problémát a 17.2.1-es csomagban sikerült annyira kezelni, hogy az aszinkron compute-ot újra engedélyezni lehetett az ominózus programokra, hiszen az akadásokon úrrá lett a cég, de végül a nemrég megjelent 17.5.1-es csomaggal vált teljessé az alternatív implementáció. Ezzel már a GCN1-es Radeonok aszinkron compute melletti teljesítménye is nagyjából meg fog egyezni a 16.4.2-es meghajtó előtti szinttel. Az előző év elején észrevett hiba javítása egyébként azért vett ennyi időt igénybe, mert végül egy általánosan működő implementáció született a gondokra, így nem kell minden játékra egyedi optimalizálást írni, hanem csak úgy működni fog a rendszer magától. Ez hosszabb távon nyilván sokkal előnyösebb, és még annak ellenére is ez volt a jó irány, hogy az új implementáció kialakítása sokáig tartott.

A 17.5.1-es csomag egyébként nem csak DirectX 12, hanem Vulkan API esetében is megoldja a gondot. Utóbbi esetben ez inkább teoretikus volt, mert egyetlen elérhető Vulkan API-t használó alkalmazás sem futott bele. Mindenesetre az implementációt itt is módosítani kellett, hogy végül ne is futhasson bele majd semmilyen jövőben érkező alkalmazás. Az immáron teljessé vált korrekció a GCN2, GCN3 és GCN4 architektúrára épülő Radeonokat nem érinti, mivel ezek az alapproblémával sem küzdöttek.

  • Kapcsolódó cégek:
  • AMD

Előzmények

Hirdetés