CUDA GPU Occupancy Calculator で使用するために、nvcc の --ptxas-options=-v フラグを使用して cuda プログラムをコンパイルし、レジスタとメモリの使用量を達成したいと考えています。
エラー: 識別子 "atomicAdd" は定義されていません
カーネルでatomicAddを使用しました。どうすればこの問題を解決できますか?
アトミック操作はすべての GPU 世代でサポートされているわけではなく、nvcc のデフォルトのターゲットは sm_10 です。GPU がアトミック操作をサポートしていると仮定すると (GPU でサポートされている機能の詳細については、CUDA C プログラミング ガイド、付録 F.1 を参照)、そのアーキテクチャをターゲットにする必要があります (たとえば-gencode arch=compute_20,code=\'compute_20,sm_20\'
、Fermi 以降)。gencode オプションの詳細については、 NVCC のマニュアルを参照してください。
ところで、--ptxas-options=-v
フラグを追加すると実際に動作が変わりますか? そうでない場合、質問のタイトルは誤解を招くものです。