Не могу создать простую программу Cuda, используя Xcode! - PullRequest
0 голосов
/ 26 сентября 2010

Я использую Xcode 3.2 в Mac OS 10.6 для создания очень простой программы HelloWorld для CUDA, но она не в состоянии собрать ... любые идеи !!!

это код:

    #include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <CUDA/CUDA.h>

__device__ char napis_device[14];

__global__ void helloWorldOnDevice(void){
 napis_device[0]='H';
 napis_device[1]='e';
 napis_device[2]='l';
 napis_device[3]='l';
 napis_device[4]='o';
 napis_device[5]=' ';
 napis_device[6]='W';
 napis_device[7]='o';
 napis_device[8]='r';
 napis_device[9]='l';
 napis_device[10]='d';
 napis_device[11]='\n';

}



int main (int argc, char * const argv[]) {
    helloWorldOnDevice<<<1,1>>> ();
 cudaThreadSynchronize();
 char napis_host[14];
 const char *symbol="napis device";
 cudaMemcpyFromSymbol (napis_host, symbol, sizeof(char)*13, 0, cudaMemcpyDeviceToHost);

     return 0;
}

В этой строке появляется сообщение об ошибке helloWorldOnDevice <<< 1,1 >>> ();

Ожидаемое первичное выражение перед маркером '<' !!!!!! </p>

1 Ответ

2 голосов
/ 03 октября 2010

Вы компилируете свою программу с помощью gcc, поставляемого с Xcode. Вместо этого следует использовать компилятор nvcc для компиляции кода CUDA. Обычно я использовал бы Makefile, чтобы сказать, что * .cu должен быть скомпилирован с помощью nvcc и * .cpp с помощью gcc, а затем связал созданные объекты с исполняемым файлом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...