通过cuCtxCreate创建cuda上下文时CUDA_ERROR_INVALID_DEVICE我收到错误。
我的代码是创建一个上下文并从中获取设备并创建一个新上下文。
知道为什么我不能创建另一个上下文吗?
#include<cuda.h>
#include<assert.h>
int main(){
cuInit(0);
CUcontext ctx;
CUdevice device;
CUdevice dev2;
CUcontext c2;
assert(cuDeviceGet(&device,0) == 0 );
assert(cuCtxCreate(&ctx, 0, device) == 0);
assert(cuCtxGetDevice(&dev2) == 0);
assert(cuCtxCreate(&c2,0,dev2) == 0);
return 0;
}
问题是用户将设备置于独占模式,这禁止在单个设备上创建两个上下文。