【问题标题】:How to find more details on CUDA_ERROR_INVALID_VALUE?如何找到有关 CUDA_ERROR_INVALID_VALUE 的更多详细信息?
【发布时间】:2019-03-30 10:51:27
【问题描述】:

作为Use Vulkan VkImage as a CUDA cuArray 的一个附带问题,我怎样才能获得有关返回CUDA_ERROR_INVALID_VALUE 的CUDA 驱动程序API 调用出现问题的更多详细信息?

具体来说,调用的是cuExternalMemoryGetMappedMipmappedArray(),文档没有在其返回值中列出CUDA_ERROR_INVALID_VALUE

关于如何调试这个问题有什么建议吗?

【问题讨论】:

  • 文档指出:“请注意,此函数也可能从以前的异步启动返回错误代码。”有关如何调试 CUDA 代码的信息,请参阅 here
  • @Shadow,谢谢。注意这是驱动API,我可以使用cudaDeviceSynvhronize()吗?我确实尝试在调用失败之前调用cuCtxSynchronize(),但cuCtxSynchronize 没有返回任何错误,并且另一个调用仍然失败并使用相同的代码
  • CUDA 不太愿意提供有关错误的信息。以我有限的经验,通常驱动程序 API 文档包含的信息最多。

标签: cuda cuda-driver


【解决方案1】:

具体来说,调用的是cuExternalMemoryGetMappedMipmappedArray(),文档没有在其返回值中列出CUDA_ERROR_INVALID_VALUE

这似乎是一个暂时的文档错误。问题中链接的当前文档(撰写本文时为 CUDA 11.5)将 CUDA_ERROR_INVALID_VALUE 显示为预期的返回值。

至于调试部分,该函数只有两个输入,内存对象句柄和数组描述符。其中之一是无效的。如果您知道函数调用返回的是错误,而不是先前的调用,那么调试应该很简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    相关资源
    最近更新 更多