[Gamefest 08]DirectX 11でデータ並列コンピューティングをサポートする演算シェーダとは

Gamefest08のDirectX11セッションのレポートの後編です。

DirectX11(Direct3D11)のホットトピックは、テッセレーションの仕組みが標準化されたことだけではありません。

DirectX11ではGPGPUが正式にサポートされることになり、これも高い注目を集めています。

その名も「DirectX11 Compute Shader」!
(和名では「DirectX11演算シェーダ」となるようです)

compute003.jpg
[Gamefest 08#07]DirectX 11でデータ並列コンピューティングをサポートする演算シェーダとは
http://www.4gamer.net/games/033/G003329/20080908021/

これまでにもGPGPUプラットフォームとしてはBrook,Rapidmind(Sh),CTM,CUDA,Acceleratorといったものが発表されてきましたが、未だデファクトスタンダードとなったものはありません。
(CUDAはいいところまで来ていますよね)

また、こうしたGPGPUプラットフォームでGPUを使った場合、GPUにGPGPUと3Dグラフィックスを同時に従事させることは事実上できませんでした。

これを解決するためにはGPUのノンプリエンプティブ・マルチスレッド化に対応させるWDDM2.x計画があったのですが、事実上、頓挫しています(AMD,NVIDIA,マイクロソフトが口を揃えてWDDM2.xの確固たるロードマップがないことを認めている)

そこで、

・GPGPUのスタンダード環境の確立
・GPGPUと3Dグラフィックスの同時実行を可能にするための論理的統合

この2つの実現を目指してDirectX11演算シェーダがDirectX11に実装されることになったのです。

具体的にはGPGPU関連のAPIの新設、HLSL(シェーダ言語)のGPGPU向け拡張といった対応がなされます。

DirectX11演算シェーダの仕組みは論理的にDirect3Dに統合されているので、演算元バッファや出力バッファが3Dグラフィックスパイプラインから透過的に見えるというのはゲームにはありがたいといえますね。

ちなみにもうひとつの新しいGPGPUプラットフォーム「OpenCL」も、「OpenGL」と論理的に統合されることが決定しています。

ATIはDirectX11演算シェーダにとっても乗り気のようで、自社GPGPUプラットフォームのCTMよりも力を入れてきそうな勢いです。
インテルはGPGPUプラットフォームとしてCtというのをもっていますが、そちらよりもDirectX11演算シェーダにご執心のようです。
NVIDIAはといえばCUDAを暖めてきたのでこれをすぐに捨てることは出来ないため微妙な判断を迫られます。おそらく「DirectX11演算シェーダはサポートするよ。だけどパフォーマンスを出すならばやっぱCUDAでしょう」みたいな訴求をしてくるんじゃないですかね。まぁ、ベンチマークソフトでDirectX11演算シェーダとかのスコアが比較されるようになっちゃうとそうも言ってられなくなりそうですけども。
マイクロソフトはDirectX11演算シェーダだけでなく、別チームが開発中のGPGPUプラットフォームAcceleratorを持っているのが気にかかります.





オンライン仕事 > 4gamer.net | comments (0) | trackbacks (0)

Comments

Comment Form

icons:

Trackbacks