Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cuda gdb不进入内核_Cuda_Cuda Gdb - Fatal编程技术网

cuda gdb不进入内核

cuda gdb不进入内核,cuda,cuda-gdb,Cuda,Cuda Gdb,我正在尝试从cuda gdb获取内存跟踪。但是,我无法进入内核代码。我使用nvcc标志-g-g和-keep,但没有效果。我可以在内核函数上设置断点,但当我尝试访问下一条指令时,它会跳到内核函数的末尾。我已经在sdk示例中尝试了这一点,并且观察到了相同的行为。我正在开发cuda 5工具包。有什么建议吗? 谢谢 此行为是内核启动失败的典型行为。确保检查CUDA呼叫的返回码。请注意,对于调试,您可能希望在内核调用之后立即添加额外的调用cudaDeviceSynchronize,并检查此调用的返回代码-

我正在尝试从cuda gdb获取内存跟踪。但是,我无法进入内核代码。我使用nvcc标志-g-g和-keep,但没有效果。我可以在内核函数上设置断点,但当我尝试访问下一条指令时,它会跳到内核函数的末尾。我已经在sdk示例中尝试了这一点,并且观察到了相同的行为。我正在开发cuda 5工具包。有什么建议吗?
谢谢

此行为是内核启动失败的典型行为。确保检查CUDA呼叫的返回码。请注意,对于调试,您可能希望在内核调用之后立即添加额外的调用
cudaDeviceSynchronize
,并检查此调用的返回代码-这是获取异步内核启动失败原因的最精确方法

更新:在调试器外部但不在cuda gdb中运行的代码通常是由于试图从图形环境在单个GPU系统上调试而导致的。cuda gdb无法与Xwindows共享GPU,因为这会挂起操作系统

如果系统只有一个GPU,则需要退出图形环境(例如退出X窗口)并从控制台进行调试


如果您有一个多GPU系统,那么您应该检查您的Xwindow配置(Xorg.conf),这样它就不会使用您为调试保留的GPU。

是,代码在调试器之外工作。这是一个sdk示例,它执行正确。是的,这正是问题所在。我在运行我的设备的同一个GPU上运行CUDA应用程序。谢谢