CUDA Constant Memory声明后,不能作为参数传递。
比如可以这样
__constant__ int constData[5];
__global__ void addKernel(int *c, const int *a, const int *b)
{
int i = threadIdx.x;
c[i] = a[i] + b[i] + constData[i];
}
却不能使用下面的代码,这个问题容易出现在把global memory转变成constant memory时
__constant__ int constData[5];
__global__ void addKernel(int *c, const int *a, const int *b, int *constData)
{
int i = threadIdx.x;
c[i] = a[i] + b[i] + constData[i];
}