C++ CUDA-GDB在C/C++;

C++ CUDA-GDB在C/C++;,c++,cuda,ubuntu-16.04,cuda-gdb,C++,Cuda,Ubuntu 16.04,Cuda Gdb,我已经安装了NVIDIA提供的最新版本的CUDA驱动程序 mmiller@host:~/NVIDIA_CUDA-7.5_Samples$ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2015 NVIDIA Corporation Built on Tue_Aug_11_14:27:32_CDT_2015 Cuda compilation tools, release 7.5, V7.5.17 但

我已经安装了NVIDIA提供的最新版本的CUDA驱动程序

mmiller@host:~/NVIDIA_CUDA-7.5_Samples$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Tue_Aug_11_14:27:32_CDT_2015
Cuda compilation tools, release 7.5, V7.5.17
但是当我调试一个程序时,我会收到一条关于python的错误消息

mmiller@csit-crackin:~$ cuda-gdb hello.out
NVIDIA (R) CUDA Debugger
7.5 release
Portions Copyright (C) 2007-2015 NVIDIA Corporation
GNU gdb (GDB) 7.6.2
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/mmiller/hello.out...done.
(cuda-gdb) b main
Breakpoint 1 at 0x402546: file hello.cu, line 3.
(cuda-gdb) r
Starting program: /home/mmiller/hello.out
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Breakpoint 1, main () at hello.cu:3
3       foo:    int x = 1;
(cuda-gdb) s
4               int y = x+1;
(cuda-gdb) p x
Python Exception <type 'exceptions.AttributeError'> 'gdb.Type' object has no attribute 'name':
Python Exception <type 'exceptions.AttributeError'> 'gdb.Type' object has no attribute 'name':
$1 = 1
(cuda-gdb)
mmiller@csit-破解:~$cuda gdb hello.out
NVIDIA(R)CUDA调试器
7.5发布
部分版权(C)2007-2015英伟达公司
GNU gdb(gdb)7.6.2
版权所有(C)2013免费软件基金会。
许可证GPLv3+:GNU GPL版本3或更高版本
这是自由软件:您可以自由更改和重新发布它。
在法律允许的范围内,不存在任何担保。键入“显示复制”
和“显示保修”了解详细信息。
此GDB配置为“x86_64-unknown-linux-gnu”。
有关错误报告说明,请参阅:
...
从/home/mmiller/hello.out读取符号…完成。
(cuda gdb)b干管
断点1位于0x402546:文件hello.cu,第3行。
(cuda gdb)r
启动程序:/home/mmiller/hello.out
[已启用使用libthread_db的线程调试]
使用主机libthread_db library“/lib/x86_64-linux-gnu/libthread_db.so.1”。
断点1,main()位于hello.cu:3
3 foo:intx=1;
(cuda gdb)s
4 int y=x+1;
(cuda gdb)Px
Python异常“gdb.Type”对象没有属性“name”:
Python异常“gdb.Type”对象没有属性“name”:
$1 = 1
(cuda gdb)

我觉得这个程序非常简单,我读到处理python和gdb时可能会出错,但我不确定如何使用Ubuntu和Nvidia的最新软件修复这个错误。关于如何解决这个问题有什么建议吗?

Ubuntu似乎不会更新路径以包含最新版本的nvcc和cuda gdb。您必须手动更新路径(或更改符号链接),才能引用这些库的正确版本。

Ubuntu似乎不会更新路径以包含最新版本的nvcc和cuda gdb。您必须手动更新路径(或更改符号链接),才能引用这些库的正确版本。

1。升级到cuda 8。问题总是可以解决的。2.提供一个完整的测试用例,以便其他人可以复制您的观察结果。我经常使用cuda gdb,并没有遇到过这个问题。您可能会观察到类似的情况。该问题已作为一个bug报告给NVIDIA。目前尚不清楚这是否是一个NVIDIA错误,但如果是,修复可能不会立即到来-它可能会等到下一个CUDA版本。与此同时,有几条评论:1。尝试一下普通的操作系统和CUDA(例如,如果你正在使用的是Ubuntu 16.04的话,可以尝试一下干净的Ubuntu 16.04)。不要更新python。目前还不完全清楚这个问题是否会阻碍进步。尽管您收到了这些Python异常消息,但cuda gdb似乎并没有崩溃,事实上还打印了您要求的内容(
$1=1
)。因此,这可能是一个麻烦,但不是一个问题。我不能确定,因为我现在不能自己复制它。所以,我已经将CUDA更新为8,但ubuntu似乎没有更新path以使用最新版本的CUDA-GDB。这修复了错误。@Milhous:您是否希望为此问题添加一个简短的答案,以便它从CUDA标记的未应答队列中消失?1。升级到cuda 8。问题总是可以解决的。2.提供一个完整的测试用例,以便其他人可以复制您的观察结果。我经常使用cuda gdb,并没有遇到过这个问题。您可能会观察到类似的情况。该问题已作为一个bug报告给NVIDIA。目前尚不清楚这是否是一个NVIDIA错误,但如果是,修复可能不会立即到来-它可能会等到下一个CUDA版本。与此同时,有几条评论:1。尝试一下普通的操作系统和CUDA(例如,如果你正在使用的是Ubuntu 16.04的话,可以尝试一下干净的Ubuntu 16.04)。不要更新python。目前还不完全清楚这个问题是否会阻碍进步。尽管您收到了这些Python异常消息,但cuda gdb似乎并没有崩溃,事实上还打印了您要求的内容(
$1=1
)。因此,这可能是一个麻烦,但不是一个问题。我不能确定,因为我现在不能自己复制它。所以,我已经将CUDA更新为8,但ubuntu似乎没有更新path以使用最新版本的CUDA-GDB。这就解决了错误。@Milhous:您想为这个问题添加一个简短的答案,这样它就从CUDA标记的未应答队列中消失吗?有人能告诉我怎么做吗。我是cuda编程新手,有人能告诉我怎么做吗。我对cuda编程相当陌生