1

Windows 7 64 ビットで Visual Studio 2010 Professional を使用して GTX 580 用の CUDA アプリケーションを開発しています。私のプロジェクトは CUDA Toolkit 4.0 で正常にビルドされますが、CUDA Toolkit 4.1 または 4.2 を選択すると nvcc がクラッシュし、次のエラーが表示されます。

1> スタック ダンプ:
1> 0. モジュール 'moduleOutput' でパス 'Promote Constant Global' を実行しています。
1>CUDACOMPILE : nvcc エラー : 'cicc' がステータス 0xC0000005 (ACCESS_VIOLATION) で終了しました

不思議なことに、「コード生成」に「compute_10,sm_10」を指定するとプログラムは正常にコンパイルされますが、「compute_20,sm_20」は動作しません。問題のコードは、次の場所からダウンロードできます。

http://www.meriken2ch.com/files/CUDA_SHA-1_Tripper_MERIKENs_Branch_0.04_Alpha_1.zip

(README.txtは日本語ですが、ソースファイルのコメントは英語です。)

CUDA Toolkit 4.1/4.2 で新たに導入されたバグを疑っています。誰もこの問題に遭遇しましたか? 回避策はありますか?どんな種類の助けも大歓迎です。

4

1 に答える 1

1

これは、CUDA 4.x のコンパイラ バグであり、CUDA 5.0 で修正されたようです (@meriken2ch のコメントによると、プロジェクトは CUDA 5.0 RC で正常にビルドされます)。

于 2012-09-04T00:23:26.003 に答える