【问题标题】:cudaModuleLoadData fails with error code 201cudaModuleLoadData 失败,错误代码为 201
【发布时间】:2018-05-22 20:54:54
【问题描述】:

我有一个要在 GPU 上执行的 ptx 代码。我正在使用以下代码:

CUmodule cudaModule;

//the variable that stores the error associated with cuda API calls.
CUresult cudaErrorVariable;

//variable representing any cuda kernel function.
CUfunction CUDAPipelineKernel;

//initializing cuda driver
cudaErrorVariable = cuInit(0);

//checking for error while loading ptx code in CUmodule.
if(cudaErrorVariable != CUDA_SUCCESS){
    myLogger->error("Unable to initialize CUDA driver");
    return 1;
}

//loading the ptx code into the module.
cudaErrorVariable = cuModuleLoadData(&cudaModule, PTXCode);

//checking for error while loading ptx code in CUmodule.
if(cudaErrorVariable != CUDA_SUCCESS){
    cuGetErrorString(cudaErrorVariable, (const char **)&errorString);
    myLogger->error("Unable load ptx file into the module : CUDA Error {}", cudaErrorVariable);
    return 1;
}

cuModuleLoadData 函数返回错误代码 201。我不知道这个错误代码是什么意思。有人可以帮我找出错误吗?

【问题讨论】:

    标签: c++ cuda gpu


    【解决方案1】:

    这里是 cuInit 的链接,这是在任何 cuda 驱动程序 API 调用之前调用的第一个也是最重要的函数,如文档中所述。

    为了完整起见,这里是上下文创建的链接:cuCtxCreate

    您也可以使用 Primary context,其灵感来自 cuda 示例目录中的 6_Advanced/ptxjit 示例,该示例使用 cudaMalloc 进行延迟初始化。

    主要上下文对于每个设备都是唯一的,并与 CUDA 共享 运行时 API。这些功能允许与其他库集成 使用 CUDA。

    【讨论】:

    • 问题是“我不知道这个错误代码是什么意思。有人可以帮我识别错误吗?”。这如何回答问题
    • @talonmies,我对这个问题的理解不同。您回答“有人能帮我找出错误代码的含义吗?”,我试图回答“您能帮我解决我的代码中导致错误的问题吗?”。
    • 我回答了被问到的字面问题。据我所知,这就是问答的工作方式
    • @talonmies,由于对cuGetErrorString 的调用,我可能错误地认为 OP 对错误代码的含义有所了解。恕我直言,这个问题可以通过两种方式来理解。我不相信动词 identify 用于在此处查找错误表。
    【解决方案2】:

    正如您在相关的 documentation 中看到的,错误 201 是 CUDA_ERROR_INVALID_CONTEXT,这意味着您在尝试加载模块之前没有正确设置上下文。

    【讨论】:

    • 如何设置上下文?
    • @RegisPortalez:这是一个社区 wiki 答案——在答案中编辑您想要的任何其他信息。这就是它以这种方式创建的原因。原始问题中的代码在很多方面都被破坏了,除了缺少上下文创建之外,还需要修复
    • 不知道社区 wiki 答案的意义。我没有问题的答案。我只是认为 RTFM 答案并没有真正的帮助,因为手册基本上说“上下文无效”......
    • @RegisPortalez 但它本质上是一个 RTFM 问题(“我有一个错误号,可以告诉我它的含义”),答案就是这样,连同教学鉴于驱动程序 API 没有文本帮助函数的错误代码和错误代码,找到代码文档的位置
    猜你喜欢
    • 1970-01-01
    • 2020-07-12
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多