这是问题...... 对于学校项目,我需要使用CUDA C编写并行应用程序。即使是最简单的示例也无法编译。我正在使用Windows7和MS visual studio。代码取自本书:CUDA。通用GPU计算简介。
#include<iostream>
#include<cuda.h>
using namespace std;
__global__ void kernel(void){
}
int main(){
kernel<<<1, 1>>>();
cout << "Hello world" << endl;
return 0;
}
以下是错误:
1>c:\users\administrator\documents\visualstudio2010\projects\test\test\test.cpp(6): error C2144: syntax error : 'void' should be preceded by ';'
1>c:\users\administrator\documents\visualstudio2010\projects\test\test\test.cpp(6): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\administrator\documents\visualstudio2010\projects\test\test\test.cpp(10): error C2059: syntax error : '<'
我是否需要将nvcc.exe设置为默认编译器而不是cl.exe?如果是这样的话,该怎么做? 非常感谢任何帮助!
答案 0 :(得分:3)
CUDA代码需要写在.cu
文件中,并使用 NVCC 编译器进行编译。您看到上述错误,因为您已将代码写入.c
或.cpp
文件,并尝试使用C ++编译器(Visual C ++编译器)进行编译。
您选择了正确的书来学习CUDA。但是,您没有按照本书中给出的所有步骤操作。请查看书中汇编的详细信息: - )