Hirdetés

Már három partícióra is tudja osztani a GPU-t a Valve Steam Audio SDK-ja

Ebben a formában külön multiprocesszorokat kaphat a hang szimulációja, illetve ennek leképezése.

A Valve az előző év februárjában leplezte le, hogy a Steam Audio SDK-juk 2.0-s verziója elindul a GPU-s gyorsítás irányába, így bekerült a rendszerbe a nyílt forráskódú TrueAudio Next API. Később a rendszer kiegészült a statikus particionálás lehetőségével is, amivel a fejlesztő a grafikus vezérlő egy meghatározott számú multiprocesszorát direkten hangokra vonatkozó számításokhoz rendelheti, majd bekerült a Radeon Rays is a hangszámítás GPU-n történű, valós idejű szimulációjához.

Hirdetés

A Valve egy év alatt sokat fejlesztett a rendszeren, amely még mindig béta fázisban van, viszont időközben adódott egy probléma is. Nevezetesen arról van szó, hogy a TAN GPU Utilities Library a statikus particionálásnál nem különböztette meg a hangszámítás jellegét, így ennek szimulációjára, illetve leképezésére is ugyanazok a multiprocesszorok voltak kijelölve. Ez ugyan működött, de a két feladat annyira különbözik egymástól, hogy sokkal célszerűbb külön-külön biztosítani számukra a multiprocesszorokat. Emiatt az új Steam Audio SDK bevezeti a Dual RTQ-t, amivel a fejlesztő gyakorlatilag három partícióra tudja osztani a GPU-kat. Egy partíciót kap a hangok szimulálása, egyet ezek leképzése, és a maradék multiprocesszorokon mehetnek a grafikai és az általános számítások.

A Steam Audio SDK TAN GPU Utilities Library modulja maximum 16 multiprocesszort képes az említett két feladatra kiosztani. Tipikusan az az ajánlott, hogy négyet kapjon a hangok leképezése és nyolcat ezek szimulációja, de utóbbi gyakorlatilag sugárkövetés, így elképzelhető, hogy hasznos, ha 12 darab ilyen részegység van erre befogva. A konkrét arány tetszőlegesen beállítható, tehát meg lehet találni az adott programhoz illeszkedő kiosztást. A Valve saját mérései szerint a szimulációhoz particionált multiprocesszorok számának növelésével majdnem lineáris gyorsulást lehet elérni, főleg akkor, ha sok sugárral, visszaverődéssel és hangforrással számol a rendszer. A Dual RTQ elsődleges előnye azonban nem feltétlenül a nagyobb sebesség, hanem a hangtorzulások minimalizálódása, illetve a képkockasebesség stabilizálódása.

Az új Dual RTQ funkció nem rendelkezik extra igényekkel a hardverek felé, pusztán a grafikus meghajtóban kell támogatni ezt a működési formát, és onnantól kezdve bármilyen OpenCL 1.2-es implementáció megfelelő, de az Anvil keretrendszeren keresztül a Vulkan API is alternatíva. Persze maga a rendszer alapvetően multiprocesszorokat vesz el a grafikai számításoktól, tehát egyrészt ezekből relatíve sok kell a GPU-n belül, illetve kiemelten ajánlott a finomszemcsés preempció hardveres támogatása is. Utóbbi nélkül lényegesen romolhat a kapott élmény, így a gyártók nem igazán engedélyezik a statikus particionálást a régebbi GPU-kra, még akkor sem, ha van OpenCL 1.2-es meghajtó hozzájuk. Úgy tudjuk, hogy a Dual RTQ egyelőre csak az AMD kezeli a 19.2.1-es Radeon Software Adrenalin 2019 Edition óta, de a teljes rendszer nyílt forráskódú, így bárki beépítheti a támogatást.

A Steam Audio 2.0 új verziója már elérhető a Unity és az Unreal Engine videojáték-motorhoz, illetve van beépülőmodul az FMOD Studióhoz, valamint a C API verzió is adott az egyedi integráció érdekében. A szimuláció szempontjából az alapértelmezett mód a Phonon, míg a két opció az Intel Embree, illetve az AMD Radeon Rays. A GPU-s gyorsítást csak az utóbbi támogatja, míg az Embree a modernebb processzorokhoz illeszkedik az AVX támogatása által.

Hirdetés

Azóta történt

Előzmények

Hirdetés