2 つの独立した Linux プロセス間で Cuda コンテキストを渡したいと思います (既にセットアップした POSIX メッセージ キューを使用します)。
cuCtxPopCurrent()
とを使っcuCtxPushCurrent()
てコンテキストポインタを取得できますが、このポインタは関数を呼び出したプロセスのメモリ内で参照され、プロセス間で受け渡ししても意味がありません。
私は他の解決策を探しています。これまでの私のアイデアは次のとおりです。
- 構造体のディープ コピーを試みてから
CUcontext
、コピーを渡します。 - 両方のプロセスがアクセスできるように、すべての Cuda ポインターがそこに配置されている共有メモリ ソリューションを見つけることができるかどうかを確認してください。
- プロセスを 1 つのプログラムにマージします。
- Cuda 4.0 ではコンテキスト共有が改善されている可能性があり、これに切り替えることができます。
オプション (1) が可能かどうかも、(2) が使用可能か可能かどうかもわかりません。(3) を一般的なものにしたい場合、実際にはオプションではありません (これはハイジャック シム内にあります)。(4) Cuda 4.0 を見てみますが、そこで動作するかどうかもわかりません。
ありがとう!