しつこく取得した後、フラグerror : identifier "atomicAdd" is undefined
を使用してコンパイルすることが解決策であることがわかりました。-arch sm_20
しかし、VS 2010でこのコンパイラフラグを渡す方法は?私はそのように下で試しましたProject > Properties
:
しかし、これは明らかに効果がなく、エラーが続く-私は何を間違っているのですか?
どうもありがとう。
しつこく取得した後、フラグerror : identifier "atomicAdd" is undefined
を使用してコンパイルすることが解決策であることがわかりました。-arch sm_20
しかし、VS 2010でこのコンパイラフラグを渡す方法は?私はそのように下で試しましたProject > Properties
:
しかし、これは明らかに効果がなく、エラーが続く-私は何を間違っているのですか?
どうもありがとう。
このダイアログで GPU コード生成のオプションを選択できます。
この場合、「compute_20」は、仮想計算アーキテクチャ 2.0 用にコンパイルしていることを意味します。仮想アーキテクチャは PTX 生成段階に影響します。
コマの次は「sm_21」です。これがCUBINの生成段階に影響します。これは、PTX をコンパイルする実際の GPU アーキテクチャを定義します。
コード生成を制御する nvcc コマンド ライン パラメータの詳細については、こちらを参照してください。
プロジェクトと .cu ファイルの両方に個別のプロパティがあることに注意してください。どうやらそれらはコンパイル前にマージされます。
コンピューティング 3.0 以降の GPU を指定しようとして、これに引っ掛かりましたが、.cu プロパティには 1.0 と 2.0 の指定が残っていました。
「CUDA C/C++」の下の「デバイス」セクションに移動します。そこでは、「コード生成」内でsm_20
. の必要はありません-arch
。