我正在尝试解决CUDA运行时错误.cuda-gdb报告的调试信息(使用cuda-memcheck):
warning: Cuda API error detected: cudaLaunch returned (0xb)
warning: Cuda API error detected: cudaGetLastError returned (0xb)
[Thread 0x7fa1a28c5700 (LWP 43041) exited]
[Thread 0x7fa1a16a5700 (LWP 43042) exited]
[Thread 0x7fa18df0e700 (LWP 43056) exited]
Run Code Online (Sandbox Code Playgroud)
我检查了块,网格尺寸和正在使用的动态共享内存的大小,它们远低于限制.请告诉我什么(0xb)错误类型代表,我没有在cuda文档中找到它.另外,请告诉我有关如何解决此问题的任何建议?
设备:开普勒K20(CC = 3.5)和CUDA 5.5
代码太大,无法在此粘贴.
如果您在代码中执行了正确的cuda错误检查,则可以检索从cudaGetLastError调用中报告的0xb错误,并将其传递给解码器(cudaGetErrorString),它将告诉您更有意义的内容.
枚举CUDA运行时API错误代码driver_types.h,在标准Linux安装上将在/usr/local/cuda/include 搜索中,cudaSuccess这将是第一个枚举类型(即0),然后继续,直到找到您的错误号.
在这种情况下0xb(= 11)指的是cudaErrorInvalidValue:
/**
* This indicates that one or more of the parameters passed to the API call
* is not within an acceptable range of values.
*/
cudaErrorInvalidValue = 11,
Run Code Online (Sandbox Code Playgroud)