DirectX 11 – konkurence i k OpenCL

17. 4. 2009

Sdílet

 Autor: Redakce

Nové API (Application Program Interface) od Microsoftu se objeví později v tomto roce obsažené ve Windows 7. Potenciální úspěch DirectX 11 spočívá především v jeho konkurenceschopnosti k technologiím jako je CUDA a OpenCL. Řekněme to jednoduše – DirectX 11 dovolí grafickým procesorům počítat libovolné úlohy, nejen ty grafické. A pozor, umožní to i na současných kartách s podporou DirectX 10!

Na GPGPU dnes v podstatě nemáme žádné univerzálně používané API, CUDA pracuje pouze s kartami Nvidia GeForce, pro AMD Stream mnoho uživatelských aplikací neexistuje. Jako první univerzální API byla nedávno ustavena technologie OpenCL, která má podle mnohých šanci na úspěch. DirectX 11 se stane dalším API, přes které bude možné počítat každodenní úlohy.

Při rozšířeností DirectX ve hrách lze snadno předpovědět, že tato schopnost bude herními vývojáři hojně využívána. U hry využívající potenciál DirectX 11 tak bude vaše grafická karta nejen renderovat obraz, ale také počítat fyzikální výpočty či dokonce umělou inteligenci, čímž značně uleví procesoru. Určitě se objeví i nějaké neherní nástroje, třeba programy pro bleskurychlé převody videa přes GPU, jaké vidíme například dnes u CUDA. Nově to ovšem už nebude výsada Nvidie, tentokrát to dokáží všechny grafiky s podporou DirectX 10 či 11 (čti všechny moderní grafické karty).

Zpočátku to zřejmě nebude tak růžové, PhysX i Havok jsou díky své specializaci na fyziku a době působení na trhu o krok dále než chystané počítání fyzikálních úloh přes compute shadery (viz níže). Vzhledem k tomu, že Microsoft asi nebude dělat žádné knihovny s instantními řešení jako má Havok či PhysX, technologie bude určitě koexistovat, popřípadě se doplňovat. CUDA je také už zavedenou technologií s množstvím existujících nástrojů a dle slov Nvidie s velkým průnikem s pomalu se rozvíjejícím OpenCL.

DirectX 11 logo

Už jsem se dvakrát otřel o to, že i dnešní karty s podporou DirectX 10 budou umět počítat libovolné výpočty s využitím DirectX 11. Nové API přináší novou verzi shaderů (shader model 5.0), zahrnující v sobě nové compute shadery (početní shadery). A v DirectX 11 budou obsaženy compute shadery nejen verze 5.0, ale i 4.1 a 4.0, GPGPU tak bude možné zprovoznit opravdu na všech kartách bez rozdílu pleti či vyznání.

Co se týče omezení compute shaderů (dále CS) 4.0 a 4.1 oproti 5.0 – nějaká tu jsou. Maximální počet vláken na skupinu je u CS 4.x je omezen na 768, CS 4.x má také pouze 16 kB sdílené početní paměti pro vláknovou skupinu oproti 32 kB u CS 5.0. CS 5.0 také nabídne lepší interakci početních úloh z grafickými, například výstupy univerzálních výpočtů přímo do textur apod. .

Compute shadery 4.x jsou zahrnuty do DirectX 11 zejména proto, aby se na nich vývojáři mohli trochu pocvičit před příchodem plnohodnotných DirectX 11 grafik s podporou SM 5.0 a začali už vytvářet GPGPU nástroje s využitím DirectX, dále pak pro tvůrce her, aby mohli nějaké (i komplexnější grafické) úlohy přenést na nové API přes compute shadery a tím ulehčit pixel shaderům a tím pádem zvýšit výkon karty ve hře.

ICTS24

Betaverze DirectX 11 a ovladače s podporou compute shaderů 4.x jsou už na stránkách Microsoftu a AMD či Nvidie dostupné ke stažení.

Zdroj: X-Bit Labs

Autor článku