2009-06-11 13 views
7

CUDA、OpenCL、そしてPortland Groupが提供するGPUオプションは興味深いです...結果はインパラシブです(一部のグループでは125-times speedup)。 GPGPUツールの次の波が科学的コンピューティングの世界を支配しようとしているようだ。しかし、GLSLとCgが発表されたとき、私は同じ扇情を思い出します。CUDA、OpenCL、PGIなど....しかし、GLSLとCgはどうなりましたか?

GLSLとCgには何が起こったのですか?サポートは落とされましたか? GLSL & CgをGPUの汎用コンピューティングに使用していますか?

答えて

12

GPGPUにCgまたはGLSLを使用した日数はほぼ終わりです。しかし、これらは3Dグラフィックスに多用され、今後もこのように使用され続けます。 GLSLとCgは、町で唯一のゲームであったため、科学計算にのみ使用されていました。 GPU上で汎用計算を行う他の方法はありませんでした。

現在GPGPUにGLSLを使用する唯一の理由は、プラットフォームに依存しないことです。さまざまなGPUでソフトウェアを実行できることが絶対に必要な場合は、現在のところ、まだまだ道のりです。しかし、OpenCLはこれを近い将来変更します。

科学計算がCUDAやOpenCLのようなものに移行している理由はたくさんあります。これらのライブラリを使用すると、GPUハードウェアへのアクセスが向上し、パフォーマンスのボトルネックをはるかに上回ります。これにより、GPUのパフォーマンスを最大限に引き出すことが容易になります。 CUDAとOpenCLはまた、GLSLやCgでは単純に利用できない機能(例えば共有メモリ)を提供しますが、多くのアルゴリズム(例えば、行列転置)で良好なパフォーマンスを得るためには重要です。もう1つの理由は、CUDAとOpenCLがグラフィックスコンテキストを必要とせずにGPUにアクセスできることです。これにより、コンピュータのGPUをリモートで計算することができます。

4

あなたはリンゴとオレンジを比較しています。 CUDAとOpenCLはGPUで汎用コンピューティングを行うためのものです。 GLSLとCgはシェーダ言語です。主にシェーダを書くことを目的としており、汎用コンピューティングは行っていません。

GLSLの実際の状態はわかりませんが、私はCgについて知っています。私はそれを使ってから何年も経ちましたが、新しい3Dゲームに取り組んだ友人はCgを使ってシェイダーを書いていました。かつてはCgの背後にあるコミュニティと業界のサポートが同じではないにしても、それはまだそこに残っており、あなたはまだそれを使うことができます。

+0

"以前はCgの背後にあるコミュニティと業界のサポートは同じではありませんでした..."これは私が尋ねる理由の一部です:CUDA、OpenCLなどは今、大きな推進力を持っています。今から1年後にそれがなくなるのだろうか?私のアプリケーションを移植する時間が膨大になると、ソフトウェアやハードウェアがほとんどサポートされなくなってしまいます。 – Pete

+1

私は、CUDAとOpenCLの両方ではないにしても、少なくとも1つは将来も依然として強い支持を得ていると感じています。汎用コンピューティングにGPUを使用することは、より多くの人々がシェーダを作っている人数のほうが少ないためです。 – Apreche

+1

「今から1年後になるの?あなたの懸念事項である場合、OpenCLは最も安全な賭けです。 CUDAはNVidiaハードウェア上でのみ動作します。 AMD/ATIのストリームSDK(別名CAL)は、ハードウェア上でのみ動作します。どちらもララビーには出ません。 DirectX 11の計算シェーダは、複数の製造元のハードウェア上で実行する必要がありますが、Windows XPまたはLinuxまたはMac OSではなくVistaまたはWindows 7でのみ実行してください。 OpenCLは、すべてのプラットフォームで標準となっている最初のツールセットであることを約束しています。したがって、従来の知恵は、それが生き残り、他は消滅するということです。 –

0
  • のCg/HLSLあなたはこのゲームdevのであれば。
  • OpenCLあなたが非常に冒険的なゲーム開発者であれば。

デスクトップ上の他のユーザーにとっては、必要なハードウェアを保有することさえ保証できません。

これらすべてのソリューションの未来は暗く見えます。私たちは、GPGPUがデスクトップに追いついてマージする前に、少なくとも1世代または2世代以上の言語を見ている可能性が高いです。

関連する問題