cudaGetLastError返回(0xb)

Chi*_*ain 4 cuda cuda-gdb

我正在尝试解决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
代码太大,无法在此粘贴.

Rob*_*lla 6

如果您在代码中执行了正确的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)