2012-03-26 11 views
1

私のcudaプログラムをnvccの--ptxas-options = -vフラグを付けてコンパイルして、それらを使用するためにレジスタとメモリの使用量を達成したいCUDA GPU占有率計算機。nvcc --ptxas-options = -v(レジスタとメモリの使用)エラー

エラー:識別子 "atomicAddは、" 私は私のカーネルでatomicAddを使用していた

が定義されていません。どうすればこの問題を解決できますか?

答えて

3

すべてのGPU世代では、アトミック操作はサポートされておらず、nvccのデフォルトターゲットはsm_10です。 GPUがアトミック操作をサポートしていると仮定します(GPUでサポートされている機能の詳細については、CUDA C Programming Guideを参照してください。付録F.1)。 Fermi以降の-gencode arch=compute_20,code=\'compute_20,sm_20\' gencodeオプションの詳細については、NVCC manualを参照してください。

実際には、--ptxas-options=-vフラグを追加すると動作が変更されますか?そうでなければ、あなたの質問のタイトルは誤解を招く。

+0

アトミック操作は、私が使用するGPUでサポートされています。私は自分のプログラムをnvcc -arch = sm_20 test.cu -o testでコンパイルして正しい結果を得ました。私はちょうど言及したオプションを使用して、私のプログラムの登録と共有メモリの使用を取得したいと思う。 –

+0

問題は解決しましたか?言い換えれば、もうエラーは出ませんか? – Tom

+0

いいえ、私の問題は解決されていません。私はまだ上記のオプションに問題があります。上記のオプションを使用してプログラムをコンパイルすることはできません。 –

関連する問題