2012-04-12 3 views
2

私はGPUプログラミングではかなり新しく、ビデオボードを使用する方法については(CUDAとOpenCLを別にして)聞いたことがないので、他の方法があるかどうか疑問に思っています。誰かが私にいくつかの例を教えてもらえますか?グラフィックカードを使用する方法はありますか?(CUDAとOpenCLを除く)

もう1つの質問:D: OpenGLとDirectXはグラフィックスカードを利用していますか?はいの場合は、教えていただけますか?

P.S:C++を使用しています。

編集:あなたの高速返信いただきありがとうございます。

私の知る限り、グラフィックスカードは並列処理(特に同じ命令複数データ)に使用されます。あなたがそれを述べたなら、私はまた、グラフィックスカードの他の種類の使用があるかどうかを知りたいと思います(OpenCLとCUDAをサポートしていないので、特に古いものは並列処理できません) 。

答えて

0

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

2

Addional GPGPU言語/ Stanadards

Brook

OpenACC

OpenMP

そして、もう一つ質問:D:ドゥOpenGLとDirectXは グラフィックスカードを活用しますか?はいの場合は、教えていただけますか?

は、シェーダの導入前に、レンダリングプロセスは固定機能circuits.Afterシェーダモデルによって 順次実施したが、導入された頂点シェーダプロセッサとピクセルシェーダプロセッサはthefixed機能ブロックを置き換えるために添加しました。 各ストリームコアは、DirectX11およびCompute Shaders-Kernelsに導入されたHullおよびDoman Shaderと同様にVertex/Geometry/Pixel Shaderを実行できる統一シェイダープロセッサーです。このため、シェーダーの全容量はまったく使用できませんシェイダーの効率を最大限に引き出します。

1

のOpenCLとOpenMPのがあります

ビデオボードを使用するために、私はGPUプログラミングではかなり新しいだと私は(離れてCUDAやOpenCLのからの)他の方法を聞いていません。 ATIにはある種のAPI(私は思う)がありましたが、それが何であるか忘れていました。

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

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

、私はまた、カードは浮動小数点テクスチャをサポートしている場合、あなたはそれらと接続詞での断片/ピクセルシェーダを使用することができ、グラフィックスカードの使用

の他の種類もあるかどうかを知りたいのですがGPUがCUDA/OpenCL /をサポートしていなくても、GPUで何らかの計算を行うためのテクスチャ。私はと思う。技法はGDGPUと呼ばれていた。 DirectX SDKにはもう少し前の「GPU布」の例があり、NVidia OpenGL SDKには"GDGPU fluid" and "GPU particles"があります。この方法で、GPU上で(レンダリングされたピクセルごとに4096x4096テクスチャの徹底的な検索を実行するような)非常に高価な計算を実行しようとすると、特定のハードウェア上でシステムをブルースクリーンすることができます。

関連する問題