使用gcc编译cuda的结果为:错误:‘;螺纹IDX’;未申报的
如何强制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”未声明使用gcc编译cuda的结果为:错误:‘;螺纹IDX’;未申报的,c,gcc,cuda,gpgpu,nvcc,C,Gcc,Cuda,Gpgpu,Nvcc,如何强制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 这会在代码的下面几层导致以下错误(包含到包含的文件): 错误:“threadId
注意:任何东西都可以像GPU应用程序一样编译和运行,没有任何C包装。Gcc没有能力编译代码的cuda部分。您需要nvcc来编译代码。当遇到threadIdx时,gcc不知道该怎么办 threadIdx是一个设备内置变量。它应该只显示在设备代码中。设备代码属于一个.cu文件,应该只传递给nvcc编译器。如果您的主机代码中有threadIdx,则说明有问题。