1

CUDA のプロセス間通信を理解しようとしています。この概念を理解し、これを私が行っているプロジェクトに適用できるようにするための助けが欲しい.

N 個の入力画像を提供する画像取得システムがあります。各生の入力画像は最初に処理され、次に 'Result' と呼ばれる単一の変数に格納されます。画像の処理を行う関数には、Aprocess、Bprocess、Cprocess、Dprocess の 4 つがあります。新しい画像がシステムによって取得されるたびに、処理を行うために上記の 4 つの関数が呼び出されます。最終的な画像「結果」は Dprocess に保存されます。

私がやりたいことは次のとおりです。 新しいプロセス「process2」を作成します。ここで、「結果」に保存されている1つの(最終的な)画像を、その画像が取得されるたびに渡すことができ、「画像」というバッファに入れます。 . これを10枚の画像で行いたいと思います。最初のプロセスは 4 つの関数を呼び出し続け、最終的に処理された画像を取得する必要があるため、'process2' は新しい画像が渡されるのを待ち、終了しないようにする必要があります。

これまでに遭遇したこと: cudaIpcGetMemHandle、cudaIpcOpenMemHandle、cudaIpcCloseMemHandle

質問:上記の関数名を使用して IPC を達成するにはどうすればよいですか?

4

1 に答える 1

3

質問: 上記の関数名を使用して IPC を達成するにはどうすればよいですか?

CUDA simpleIPCサンプル コードはそれを示しています。

プログラミング ガイドには、CUDA IPC API の使用方法についても簡単に説明されています。

最後に、API 自体はランタイム APIリファレンス マニュアルに記載されています。

この機能には、cc 2.0 以降と 64 ビット Linux OS が必要であることに注意してください。

于 2013-11-06T19:47:52.663 に答える