2012-03-26 7 views
1

私はマルチgpu OpenCLコードを実装しようとしています。私のモデルでは、GPUは通信しなければならず、 のデータを交換する必要があります。OpenCLサブバッファは、なぜ重要ですか?

サブバッファを処理する解決策があることがわかりました(私はいつかどこかに覚えていません)。なぜサブバッファが重要であるのか、誰でも簡単に説明できますか? OpenCLで?私が理解できる限り、バッファだけを使ってまったく同じことができます。

どうもありがとう、 Giorgos

補足質問: のGPU間でデータを交換するための最良の方法は何ですか?

答えて

0

複数のGPUを扱う際に、サブバッファがどのように問題を解決するかはわかりません(またはわかりません)。 AFAIKサブバッファは、バッファへのビューを提供します。つまり、単一のバッファをソフトウェア抽象化レイヤを提供するより小さなバッファ(サブバッファ)のチャンクに分割することができます。サブバッファは、オフセットの最初の要素をゼロである。 multiGPUまたはマルチデバイス問題のOpenCL 1.2に対処するために

あなたはメモリがclEnqueueMigrateMemObjectsのOpenCL APIの呼び出しに応答のためのhttp://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clEnqueueMigrateMemObjects.html

+0

感謝を使用して他に一つのGPUから直接オブジェクトをコピーすることができ、そこからAPIを提供します。 サブテーブルは、誰かがオフセットを保持する必要がある場合にのみ使用されますか?コミュニケーションの用途はありませんか?私はclEnqueueMigrateMemObjectsについて知っているが、バージョン1.2がnVidiaによってまだ実装されていないことは分かっている。 – Giorgos

関連する問題