2011-03-11 7 views
1

ストリーム、ホスト、デバイスのメモリ終了イベントなど、初期化されたリソースがたくさんある状況を想像してください。その一部は1つのGPUのコンテキストで初期化され、残りは他のGPUコンテキスト与えられたリソースのコンテキストを確認する

特定のリソース(イベント、ストリーム、またはメモリ)が特定のGPUコンテキストに属しているかどうかを確認する方法はありますか?

メモリコピーやカーネルの実行を命じる前に、そのようなことを宣言する価値がある場合は、cudaErrorInvalidArgumentを取得してください。

答えて

2

私はCUDA API自体でそのようなオプションを実際に認識していません。これは、GPUに発行できる低レベルの注文セットです。

私は、CUDA API関数をどこで何が初期化されているかを追跡する素晴らしいクラスにラップすることをお勧めします。 GPUを表すクラスも同様に有用かもしれません。

+0

あなたは正しいですが、そのようなCUDA API機能は、このようなクラスでも役立ちます。 – kokosing

+0

それは役に立ちますが、物事を追跡することはおそらく少しのリソースを消費し、誰もがそれを望むわけではありません。そのため、CUDA APIは基本的な機能だけを提供し、仕事を完了させるだけです。時間の経過とともに、作業をやり遂げるために、より高いレベルのライブラリが存在する(または既に存在する)。 – CygnusX1

関連する問題