【发布时间】:2018-10-23 06:50:32
【问题描述】:
我需要让我的内核与主机通信。我尝试使用全局计数器(更好的方法被广泛接受),但下面的代码总是打印 0。我做错了什么? (我尝试了评论和未评论的方式)。
#include <stdio.h>
#include <cuda_runtime.h>
//__device__ int count[1] = {0};
__device__ int count = 0;
__global__ void inc() {
//count[0]++;
atomicAdd(&count, 1);
}
int main(void) {
inc<<<1,10>>>();
cudaDeviceSynchronize();
//int *c;
int c;
cudaMemcpyFromSymbol(&c, count, sizeof(int), cudaMemcpyDeviceToHost);
printf("%d\n", c);
return 0;
}
【问题讨论】:
标签: cuda