OpenCLでは、複数のGPUで構成されるシステムは、プログラマが作業負荷を明示的に分けることなく暗黙的にジョブを分割する可能性がありますか?
たとえば、1つのSM 192コアGPUで構成されたGPUがあり、行列乗算を実行します。これは正常に動作します。今度は別の同じGPUを追加し、OpenCLは両方のGPUを使用してプログラマが作業負荷を各GPUに分割するのではなく、行列乗算を計算します。マルチGPUの暗黙的な作業
0
A
答えて
1
私はOpenCLが(少なくとも1.2では)自動的に行うことはできませんが、複数の計算デバイスを自動的に処理できるOpenCLラッパーがあると思います。 OpenCL CodeBench
を使用していませんが、複数のコンピューティングデバイスの負荷分散があると主張しています。
0
デバイスのメモリだけを統合し、openclのバージョン2.0以降でのみこれを実行できます。
カーネルはコマンドキューにエンキューされ、1つのデバイスで作成(バインド)されます。だから彼らは単一のデバイスでのみ動作することができます。しかし、複数のコマンドキューは、暗黙のバッファ同期を利用できる共通のコンテキストで機能することができます。
実行時に、どのワークアイテムがどのメモリアドレスにアクセスするかを知ることができないため、作業の分割は暗黙的に行うことはできません。
作業中のシングルデバイスラッパーを作成したら、マルチGPUサポートを追加することはあまり面倒ではありません。
関連する問題
- 1. IdentityServer3の暗黙的なフローではなく、暗黙的なjavascript
- 2. マルチGPUの基本的な使用
- 3. 暗黙的なルールとヘッダファイルを作る
- 4. ASP.NET MVC - 暗黙的なフォーム操作
- 5. スカラ:暗黙的に暗黙のクラスに
- 6. DateTimeから暗黙的に暗黙的に暗黙的に暗黙的に暗黙的に暗黙的に暗黙的に暗黙変換に変換することができません
- 7. 暗黙的な変換と暗黙のクラス
- 8. 暗黙的なインターフェイスコール関数
- 9. tensorflowマルチGPUトレーニング
- 10. 暗黙的なパラメータ値自体は暗黙的な値ですか?
- 11. OpenGLマルチGPUのサポート
- 12. は、暗黙的に
- 13. は、暗黙的に
- 14. Scalaのシンプルな暗黙的な変換
- 15. 暗黙的なdefフィールドを持つ特性を作成するときに暗黙的なdef関数
- 16. 暗黙的と明示的な.NETスレッディング
- 17. 暗黙的対明示的なインタフェース
- 18. 暗黙的で明示的なキャスト
- 19. 暗黙的に暗黙的に符号なしタイプに変換される
- 20. #pragmaの最後の暗黙的なバリア
- 21. sparkの暗黙的なパラメータの使用
- 22. LaTeXの式の暗黙的な改行
- 23. Scalaの一般的な暗黙のヴァル
- 24. SeqGAN用マルチGPU Tensorflow
- 25. 暗黙的なジェネリック型のスカラモック関数
- 26. Pythonでの暗黙的なモジュール検索?
- 27. C++の暗黙的な変換
- 28. テンプレート関数の暗黙的な変換
- 29. シーケンス内の暗黙的な変換
- 30. Springでの暗黙的なautowiring
それで、それぞれ1つのSMを持つ2つのGPUカードは、システムはシステムに存在する合計2つのSMを識別しますか? – pradyot