我从内核收到错误:在此过程中设备处于活动状态时无法设置。
你能告诉我这意味着什么吗?
内核替换cudaMemset()
。内核应该比cudaMemset()
快。
内核:
__global__ void kernelMemSet ( float *sSum, float *cSum, int length ){
int idx = blockIdx.x * blockDim.x + threadIdx.x;
int idy = blockIdx.y * blockDim.y + threadIdx.y;
int tid = idx*length + idy;
cSum[idx] = 0.0f;
sSum[idx] = 0.0f;
}
在循环中调用内核,只在第一次调用时发生错误,第二次调用内核时,第三次,......没有错误。
在cudaSetDevice()
之前拨打cudaGLSetDevice()
是否可能导致错误? - 发现它们是相互排斥的,但这不是造成问题的原因。