1
我是一個總新手,這裏是第一次嘗試測試Cuda6統一內存。編譯和運行後,我預計會得到:38,10,但我得到的結果是:5,10。有沒有什麼我做錯了,這使我在這種情況下完全愚蠢?非常感謝你們!Cuda統一內存簡單測試失敗
#include <iostream>
#include <cuda.h>
__global__ void add2(int *a, int *b)
{
*a += 33;
}
int main(){
int a = 5;
int b = 10;
int *p_a, *p_b;
cudaMallocManaged(&p_a,sizeof(int));
cudaMallocManaged(&p_b,sizeof(int));
p_a = &a;
p_b = &b;
add2<<<1,1>>>(p_a, p_b);
cudaDeviceSynchronize();
std::cout << *p_a << " " << b << std::endl;
return 0;
}
做cuda錯誤檢查。告訴我們GPU和主機平臺。 –