Ошибка выброса cudaMemcpy во время простого копирования - PullRequest
2 голосов
/ 13 января 2012

Ниже приведен небольшой фрагмент кода, который копирует 4 элемента из массива в графический процессор.Я действительно не понимаю, почему cudaMemcpy выдает ошибку в этом случае.Пожалуйста, помогите

int size = 5;
float *a = (float*)malloc(size * sizeof(float));
a[0] = 1.0;
a[1] = 2.0;
a[2] = 3.0;
a[3] = 4.0;
a[4] = 5.0;

float *g;
cudaMalloc((void**)g, 4 * sizeof(float));
float *tem = a+2;
cudaError_t err = cudaMemcpy(g,a,4 * sizeof(float), cudaMemcpyHostToDevice);
if(err !=0){
    printf("Cudamemcpy threw error\n");
    getchar();  
}

1 Ответ

6 голосов
/ 13 января 2012

Я думаю, вам не хватает амперсанда:

cudaMalloc((void**)&g, 4 * sizeof(float));

...