>>85
無理ですか…

シミュレーションを複数のGPUで実行して,
結果をOpenGLで可視化したいと思っています(出力は一つから).
ランタイムAPIとOpenMPを組み合わせて作ろうと思っていました.

しかし,その場合malloc等の前処理の段階で
複数のホストスレッドでcudaSetDeviceを使ってしまうと,
いざカーネルを実行しようとしたときに,マスターホストスレッド以外のホストスレッドの
cudaSetDeviceで"もう既にセット済"というエラーが出てしまいます.

OpenGLのイベント待ちのために,
複数スレッド→マスタスレッドのみ→複数スレッド→マスタスレッドのみ→…
という状態を繰り返すのですが,1スレッドに戻っても
マスタスレッド以外で設定したコンテキストが消えないのが原因のようです.

マニュアルのドライバAPIのコンテキストの部分を読んでいたら,
色々命令があるので出来るかもしれないと思い質問させていただきました.
ホストスレッドの数は複数でも問題ないので,
コンテキストの操作に詳しい方いらっしゃいますか?