15

Microsoft が Nvidia と密接に協力して AMP のパフォーマンスを向上させていることを読みました。

しかし、私の質問は次のとおりです。AMP は Microsoft による CUDA の置き換えですか? それとも、NVIDIA CUDA ビデオ カードが使用可能な場合、AMP は CUDA ドライバーを使用しますか? AMP は openCL の代替品ですか?

私はまだかなり混乱しています..

4

2 に答える 2

22

C++ AMP はライブラリです (その一部として、重要な言語拡張も導入されました)。C++ AMP はオープン仕様であるため、他の低水準言語に実装できます。Microsoft の実装は DirectCompute (したがって HLSL) に基づいて構築されていますが、C++ AMP を使用している場合は完全に隠されています (これが、C++ AMP がオープンな仕様であり、API サーフェスで DirectX を公開しない理由です)。C++ AMP の詳細については、ブログの右側にあるリソースに従ってください (今後も追加していきます): http://blogs.msdn.com/b/nativeconcurrency/

あなたは Microsoft が NVIDIA と協力して C++ AMP のパフォーマンスを向上させているという声明を出しましたが、それは真実ではありません。Microsoft は、NVIDA、AMD、およびその他のパートナーと協力して、C++ AMP オープン仕様を作成しました。また、Microsoft はハードウェア ベンダーと協力して、GPU コンピューティング テクノロジが正しく動作するために必要な安定したビデオ カード ドライバーがハードウェア ベンダーにあることを確認します。

あなたはまた、混乱を表明し、いくつかの用語を捨てました. OpenCL は GPU コンピューティング (Khronos による)、DirectCompute (Microsoft による)、CUDA (NVIDIA による) へのアプローチです。これらはすべて個別のテクノロジであり、それぞれが GPU への独自のパス (常に何らかのドライバーを介して) を持ち、それぞれに独自の長所、長所、および短所があります。一方が他方に取って代わるわけではなく、一方が他方よりも普遍的に優れているわけではありません。もう 1 つの選択肢として、その組み合わせには C++ AMP もあり、同じステートメントがそれに適用されます。どちらを使用するかは、お客様の自由です。

于 2012-04-25T02:38:57.200 に答える
3

C++ AMP は、CUDA を含む並列プログラミング テクノロジをサポートするための言語拡張と API のセットです。

Microsoft には CUDA (Direct Compute) の直接の競合相手もあり、一般的に独自の独自のグラフィックス標準を好んでいるため、実際に何が起こるかを確認する必要があります。

Microsoft の見解については、これらのレクチャーを参照してください。

于 2012-04-24T19:06:56.230 に答える