Невозможно скомпилировать исходники CUDA C. Простая версия предоставляется - PullRequest
1 голос
/ 29 марта 2012

Вот проблема ... Для школьного проекта мне нужно написать параллельное приложение с использованием 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? Если это так, как это сделать? Любая помощь очень ценится!

1 Ответ

3 голосов
/ 29 марта 2012
Код

CUDA должен быть записан в файл .cu и скомпилирован с помощью компилятора NVCC .Вы видите вышеупомянутые ошибки, потому что вы написали свой код в файле .c или .cpp и пытаетесь скомпилировать его с помощью компилятора C ++ (компилятор Visual C ++).

Вы выбрали правильныйкнига для изучения CUDA.Однако вы не выполняете все шаги, указанные в книге.Пожалуйста, взгляните на детали компиляции в книге: -)

...