0

コード内の threadIdx 行を使用して GCC を強制的にコンパイルするにはどうすればよいですか?

cuda アプリケーションを ac ラッパーでコンパイルしようとしています。

.so ファイルを生成するには、次を実行します: nvcc -arch=sm_11 -o libtest.so --shared -Xcompiler -fPIC main.cu

次に、gcc -std=c99 -I/usr/local/cuda/include -o main -L で C ラッパーをコンパイルしようとします。-ltest main.c

これにより、コードの数層下に次のエラーが発生します(インクルードファイルへのインクルード): エラー: 'threadIdx' 宣言されていません

注: すべては、C ラッピングなしで GPU アプリケーションとして問題なくコンパイルおよび実行されます。

4

1 に答える 1

1

Gcc には、コードの cuda 部分をコンパイルする機能がありません。コードをコンパイルするには nvcc が必要です。gcc は、threadIdx に遭遇したときに何をすべきかわかりません。

于 2012-11-05T07:13:38.307 に答える