如何强制GCC在我的代码中使用threadIdx行编译?
我试图用c包装器编译我的cuda应用程序。
要生成我运行的.so文件: nvcc -arch = sm_11 -o libtest.so --shared -Xcompiler -fPIC main.cu
然后我尝试用以下代码编译c包装器: gcc -std = c99 -I / usr / local / cuda / include -o main -L。 -ltest main.c
这导致我的代码中的几层下面出现以下错误(包含到包含的文件中): 错误:'threadIdx'未声明
注意:所有内容都可以编译并在没有任何C包装的情况下作为GPU应用程序运行。
答案 0 :(得分:1)
Gcc无法编译代码的cuda部分。你需要nvcc来编译代码。当遇到threadIdx时,gcc不知道该怎么做。