我尝试使用 cuda-gdb 调试我的 CUDA 应用程序,但出现了一些奇怪的错误。
我设置选项-g -G -O0
来构建我的应用程序。我可以在没有 cuda-gdb 的情况下运行我的程序,但没有得到正确的结果。因此我决定使用 cuda-gdb,但是,在使用 cuda-gdb 运行程序时出现以下错误消息
Error: Failed to read the valid warps mask (dev=1, sm=0, error=16).
这是什么意思?为什么sm=0
以及是什么意思error=16
?
更新 1:我尝试将 cuda-gdb 用于 CUDA 示例,但它因同样的问题而失败。我刚刚安装了 CUDA 6.0 Toolkit,然后是 NVIDIA 的说明。是我系统的问题吗?
更新 2:
- 操作系统 - CentOS 6.5
- 图形处理器
- 1 Quadro 400
- 2特斯拉C2070
- 我的程序只使用了 1 个 GPU,但我选择的任何 GPU 都收到相同的错误消息
- CUDA 版本 - 6.0
- 显卡驱动
- NVRM 版本:NVIDIA UNIX x86_64 内核模块 331.62 Wed Mar 19 18:20:03 PDT 2014
- GCC 版本:gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
更新 3:我试图在 cuda-gdb 中获取更多信息,但得到以下结果
(cuda-gdb) info cuda devices
Error: Failed to read the valid warps mask (dev=1, sm=0, error=16).
(cuda-gdb) info cuda sms
Focus not set on any active CUDA kernel.
(cuda-gdb) info cuda lanes
Focus not set on any active CUDA kernel.
(cuda-gdb) info cuda kernels
No CUDA kernels.
(cuda-gdb) info cuda contexts
No CUDA contexts.