2

私は GPU プログラミングの初心者で、ビデオ ボードを使用する他の方法 (CUDA と OpenCL を除く) について聞いたことがありません。誰かが私にいくつかの例を教えてもらえますか?

もう 1 つ質問があります :D: OpenGL と DirectX はグラフィックス カードを利用しますか? はいの場合、方法を教えてください。

PS: 私は C++ を使用しています。

編集:迅速な返信ありがとうございます。

私の知る限り、グラフィックカードは並列処理に使用されます(特にSame Instruction Multiple Data)。あなたがそれについて言及した場合、グラフィックカードの他の種類の用途もあるかどうかも知りたいです(特に古いものについては、OpenCLとCUDAをサポートしていないため、並列処理を実行できないと思います) .

4

3 に答える 3

2

追加の GPGPU 言語/規格

小川

OpenACC

OpenMP

もう 1 つ質問があります :D: OpenGL と DirectX はグラフィックス カードを利用しますか? はいの場合、方法を教えてください。

シェーダーが導入される前は、レンダリング処理は固定機能回路によって順次実装されていました。シェーダー モデルが導入された後、バーテックス シェーダー プロセッサとピクセル シェーダー プロセッサが追加され、固定機能ブロックが置き換えられました。現在、各ストリーム コアは統合されたシェーダー プロセッサであり、Vertex/Geometry/Pixel Shader だけでなく Hull および Doman Shader も実行でき、DirectX11 で導入され、Compute Shaders -Kernels も同様です。したがって、シェーダーの全容量を常に使用できます。 、シェーダーのパフォーマンス効率を最大化します。

于 2012-04-12T14:17:08.177 に答える
1

私は GPU プログラミングの初心者で、ビデオ ボードを使用する他の方法 (CUDA と OpenCL を除く) について聞いたことがありません。

OpenCL と OpenMP があります。ATI にも何らかの API があったと思いますが、それが何と呼ばれているか忘れました。

OpenGL と DirectX はグラフィックス カードを利用しますか?

もちろんそうです。特に DirectX は、多かれ少なかれハードウェア アクセラレーションに簡単にアクセスできるように設計されています。同じ速度で CPU でレンダリングを実行することはできません。

、グラフィックカードの他の種類の用途もあるかどうかも知りたいです

カードが浮動小数点テクスチャをサポートしている場合、GPU が CUDA/OpenCL などをサポートしていなくても、それらのテクスチャと組み合わせてフラグメント/ピクセル シェーダーを使用して、GPU でいくつかの計算を実行できます。技術はGDGPUと呼ばれていたと思います。DirectX sdk には少し前に「GPU クロス」の例があり、NVidia OpenGL SDK には「GDGPU 流体」と「GPU パーティクル」があります。GPU で過度にコストのかかる計算 (レンダリングされたすべてのピクセルに対して 4096x4096 テクスチャで徹底的な検索を実行するなど) を実行しようとすると、特定のハードウェアでシステムがブルースクリーンになる可能性があることに注意してください。

于 2012-04-12T15:16:36.947 に答える
0

OpenCL、OpenGL、DirectX、およびある程度の CUDA は、ハードウェア ベンダーがドライバーに実装できる単なるインターフェイス仕様です。これらのインターフェイスは、ドライバーによって駆動されるものを利用するためにバスを使用できます。ほとんどの場合、これはこれらのインターフェイスの GPU です。GPU と対話する他のインターフェイス (WDDM はより多くのインターフェイスを指定) がありますが、それらにはすべて特定のユース ケースがあります。「grahpics カードを使用する」という意味を明確にしたい場合があります。

于 2012-04-12T14:15:32.737 に答える