1

私は自分のプロジェクトの一部としてGPUを利用しようとしています。CUDAとOpenCLの両方を調べましたが、これらをプロジェクトに導入する方法を示す情報が不足しているのは衝撃的です。彼らの専用のフォーラムグループでさえ死んでいます。だから今、私はDirectComputeを調べています。

私の知る限り、これはHLSLを利用する新しいタイプのシェーダーファイルです。私の質問はこれです、私のプログラム(DirectX 10/11であることを除いて)はその構造を変更する必要がありますか?

つまり、CSファイルを作成し、他のシェーダーと同じようにプロジェクトに設定して、魔法が起こるのを見るだけの場合ですか?

これに関する情報をいただければ幸いです。

4

3 に答える 3

2

はいCSは通常のDirectXプログラミング構造に適合します。CUDA/OpenCLと同じように機能します。これが良い、簡単な例です:

http://openvidia.sourceforge.net/index.php/DirectCompute

個人的には、プロジェクトにグラフィックスが含まれていない場合は、DirectComputeルートを使用するのではなく、CUDA/OpenCLを使用することをお勧めします。汎用コンピューティングにはCUDA/OpenCLの方が良いと思います。ドキュメントを見つけるのは少し難しいかもしれませんが、これらはGPUプログラミングの主な側面です。

  • GPUに渡すためにCPUにデータを設定します。

  • GPUで開始する必要のあるワープ/スレッドの数、スレッドが通信する必要がある方法などを理解します。

  • GPUでのコンピューティング、CPUでのデータの読み取り

于 2012-03-06T09:27:52.807 に答える
1

C#最も簡単な方法-とでCSを使用するプロジェクトを作成することSlimDXです。

そして、ここにC#コード内からCSを使用する基本的な方法が記載された優れたサイトがあります。

後で、とを使用して本格的なCS探索に移行できC++ますDirectX 11

于 2012-05-22T14:30:35.237 に答える
1

もう1つのオプションはC++AMPです。詳細についてはこちらのリンクをたどってください。質問がある場合はお気軽に投稿してください:http://blogs.msdn.com/b/nativeconcurrency/archive/2011/09/13/c-amp -in-a-nutshell.aspx

于 2012-03-16T22:18:01.987 に答える