0

カーネルからエラーが発生しています: このプロセスでデバイスがアクティブな間は設定できません。

どういう意味か教えていただけませんか?

カーネルは の代替です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;
}

カーネルはサイクルで呼び出され、最初の呼び出しでのみエラーが発生し、カーネルが 2 回目、3 回目に呼び出されると、エラーは発生しません。

cudaSetDevice()beforeへの呼び出しによってエラーが発生する可能性はありますcudaGLSetDevice()か? - 相互に排他的であるという回答が見つかりましたが、これが問題の原因ではありません。

4

0 に答える 0