20

OpenCLDirectComputeの比較を探していますが、何も見つかりませんでした。クロスプラットフォームであり、サポートされるGPUの範囲が広いというOpenCLの利点は、私には関係ありません。DX11GPUに対してのみWindowsでコーディングしても問題ありません。それを前提として、各APIの長所と短所は何ですか?

私はこの質問が以前に提起されたことを知っていますが、私はより多くの詳細を探しています。

Nvidiaハードウェアだけに制限したくないので、CUDAには興味がありません。

4

5 に答える 5

14

おそらくコーダーにとっての最大の違いは、DirectCompute が HLSL に似た言語でプログラミングされているのに対し、OpenCL は C に似た言語でプログラミングされていることです。

考慮すべきもう 1 つの違いは、一般に、コモディティ レベルの GPU の場合、Windows での OpenGL サポートよりも DirectX サポートの方が優れている (高速でバグが少ない) ことです。これは、DirectCompute のより安定したサポートにつながる可能性がありますが、実際には、これは推測にすぎません。

于 2010-07-04T02:46:21.507 に答える
13

OpenCL の主な利点は、グラフィックス カードだけに限定されないことです。マルチコア CPU、グラフィックス カード、およびその他のハードウェア アクセラレーション デバイス (DSP など) をすべて同じプログラムから利用できます。

DirectCompute がその自由を許しているかどうかはわかりません。

于 2010-07-04T02:32:36.517 に答える
5

ホストコード(OpenCL APIを呼び出してカーネルを送信するコード)自体をクロスプラットフォームにすることができるため、OpenCLのクロスプラットフォーム性は単なる詳細ではありません(リンクテキストリンクテキスト...を参照)。

一度書けば、どこでも、どんなGPGPUでも実行できます。

それ以外の場合、OpenCLツールは、VisualStudio用のATIStreamプラグイン、大量のサンプルを含むNVidia&ATI SDKなどを使用して、実際に改善されています...

于 2010-07-22T08:57:21.713 に答える
3

もう 1 つのオプションは C++ AMP です。これは、ハードウェアの移植性を維持しながら、別のコンパイラを必要とせずに最新の C++ 構文を提供します。詳細については、こちらのリンクをたどってください。また、質問があれば自由に投稿してください。.aspx

于 2012-03-16T22:32:09.013 に答える
1

アプリを Linux に簡単に移植できるので OpenCL を使用しますが、DirectCompute ではこれは不可能です。また、OpenCL 実装のパフォーマンスは時間とともに向上し (NVidia カードの CUDA と同じレベルになる)、(ドライバー) バグは (うまくいけば ;)) 時間とともに解消されると思います。

于 2010-07-10T22:40:49.233 に答える