5

しつこく取得した後、フラグerror : identifier "atomicAdd" is undefinedを使用してコンパイルすることが解決策であることがわかりました。-arch sm_20しかし、VS 2010でこのコンパイラフラグを渡す方法は?私はそのように下で試しましたProject > Properties

ここに画像の説明を入力してください

しかし、これは明らかに効果がなく、エラーが続く-私は何を間違っているのですか?

どうもありがとう。

4

3 に答える 3

15

このダイアログで GPU コード生成のオプションを選択できます。

GPU コード生成

この場合、「compute_20」は、仮想計算アーキテクチャ 2.0 用にコンパイルしていることを意味します。仮想アーキテクチャは PTX 生成段階に影響します。

コマの次は「sm_21」です。これがCUBINの生成段階に影響します。これは、PTX をコンパイルする実際の G​​PU アーキテクチャを定義します。

コード生成を制御する nvcc コマンド ライン パラメータの詳細については、こちらを参照してください。

于 2013-01-19T10:28:27.100 に答える
2

プロジェクトと .cu ファイルの両方に個別のプロパティがあることに注意してください。どうやらそれらはコンパイル前にマージされます。

コンピューティング 3.0 以降の GPU を指定しようとして、これに引っ掛かりましたが、.cu プロパティには 1.0 と 2.0 の指定が残っていました。

于 2014-05-21T14:26:42.237 に答える
2

「CUDA C/C++」の下の「デバイス」セクションに移動します。そこでは、「コード生成」内でsm_20. の必要はありません-arch

于 2013-01-19T08:27:34.377 に答える