Kinyomozza az alkalmazás-összeomlás okát az AMD új fejlesztőeszköze

A Radeon GPU Detective bizonyos esetekben pontosabb képet ad a fejlesztőknek a programhibák okáról.

Az AMD a GPUOpen keretében kiadta a Radeon GPU Detective 1.0-s változatát, amely egy igen specifikus problémára reagáló fejlesztőeszköznek számít. Talán mindenki belefutott már abba a szituációba, amikor valamilyen programhiba következtében a GPU-n problémába ütközött a számítás, összeomlott az adott alkalmazás, majd a Windows TDR (Timeout Detection and Recovery) modulja visszahozta a munkaasztalt, valamelyest mentve a helyzetet. A nagy kérdés ilyenkor mindig az, hogy mi idézte elő a TDR-t, és a helyzet az, hogy ennek igen sok oka lehet, akár olyan is, amelynek köze sincs a grafikus alrendszerhez.

Az esetek többségében azonban valamilyen programhiba felel ezekért a helyzetekért, nagyrészt laphiba a memóriában, vagy esetleg végtelen ciklus valamelyik shaderben. Mindkét opció előidézi azt, hogy a GPU két másodpercig nem válaszol, amit az operációs rendszer az alapértelmezett beállítások értelmében az alrendszer összeomlásának tekint, beindítva a TDR-t, és az ezzel járó helyreállítási folyamatot.


[+]

A helyzet az explicit API-k terjedésével ráadásul kellemetlenebbé vált, mivel nagyrészt a program oldalára kerültek azok a funkciók, amelyek összeomlást idézhetnek elő, így a gyártók által kiadott meghajtóimplementációk csak ritka esetben felelnek ezekért hibákért. A DirectX 12 API-nak van is egy debug rétege, ami segít felderíteni bizonyos hibák forrását, és ez nagyon hasznos, viszont nem mindig ad teljesen átfogó képet az okokról. Emiatt adta ki az AMD a Radeon GPU Detective fejlesztőeszközt, ami tulajdonképpen egyfajta extra opció a hibák felderítésére, ha azok a GPU-n történő programfuttatás során keletkeznek.

Az AMD kihangsúlyozza, hogy a Radeon GPU Detective nem váltja ki a DirectX 12 debug rétegét. Utóbbi használatát továbbra is kiemelten ajánlják, mert olyan hibák is láthatóvá vállnak általa, amelyek forrása nem a grafikus alrendszeren belülről származik. A Radeon GPU Detective inkább egy kiegészítés, amely bizonyos hibákról képes pontosabb képet adni, mint a Microsoft általános megoldása.

A nyílt forráskódú Radeon GPU Detective a Radeon Developer Tool Suite része, ezen belül működik, és lényeges, hogy a grafikus meghajtót is átkapcsolja Crash Analysis módba, utóbbi miatt minimum 23.7.2-es AMD Software szükséges. Maga a fejlesztőeszköz csak DirectX 12 API-ra írt alkalmazásokkal működik, Windows 10 és 11 operációs rendszeren és RDNA 2 vagy RDNA 3 architektúrára épülő Radeon szükséges a futtatásához.

Bár maga a rendszer ugyan Radeon hardverekhez van kötve, bőven előfordulhatnak olyan szituációk, amikor az összeomláshoz vezető hiba általános jellegű, így bármelyik GPU-n előjön, miközben a gond forrásának detektálása nem könnyű a DirectX 12 debug rétegét használva. Ilyen esetben a programkódban elvégzett általános javítás minden hardveren megszünteti a hibát, a Radeon GPU Detective tehát leginkább a nyomozást teszi egyszerűbbé.

  • Kapcsolódó cégek:
  • AMD

Azóta történt

Előzmények

Hirdetés