问题标签 [cuda-gdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
65 浏览

cuda - 在 Cuda-gdb 中打印反汇编信息

我想打印来自 cuda 反汇编的信息。

例如,我可以使用信息寄存器 R1 在 cuda 中打印寄存器,但是我无法弄清楚如何在 ( ) 中打印 c[0x0][0x20]MOV R1, c[0x0][0x20][R13+0x9f] ( STL.U8 [R13+0x9f], RZ)中打印

0 投票
1 回答
530 浏览

c++ - C/C++ 中的 CUDA-GDB 查看变量

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

但是当我调试一个程序时,我收到一条关于 python 的错误消息。

我的程序是一个非常简单的程序,我读到它可能是处理 python 和 gdb 的错误,但我不确定如何使用 Ubuntu 和 Nvidia 的最新软件修复错误。关于如何解决这个问题的任何建议?

0 投票
2 回答
379 浏览

c++ - 为什么 cuda-gdb 启动多个线程?

当我在 cuda-gdb 中启动我的程序时,我得到如下输出:

我不明白为什么一开始就启动了这些多个线程。我还没有以多线程模式启动我的程序。我正在使用 MPI,但我启动了一个进程。那么,这些线程是从哪里来的呢?

这不会以任何方式影响我的调试过程。只是我不明白这是什么意思。

0 投票
1 回答
401 浏览

callback - 使用 cuda-gdb 启动带有 CUPTI 调用的程序失败

我遇到了这个奇怪的问题:我有一个程序使用 CUPTI 回调 API 来监视程序中的内核。直接启动时运行良好;但是当我将它放在 cuda-gdb 下并运行时,它失败并出现以下错误:

错误:函数 cuptiSubscribe(&subscriber, CUpti_CallbackFunc)my_callback, NULL) 失败,错误 CUPTI_ERROR_NOT_INITIALIZED

我已经尝试了 CUPTI/samples 中的所有示例,并得出结论,使用 callbackAPI 和 activityAPI 的程序将在 cuda-gdb 下失败。(它们在没有 cuda-gdb 的情况下都表现良好)但是失败的原因不同:如果我有来自 activityAPI 的调用,那么一旦在 cuda-gdb 下运行它,它会挂起一分钟然后退出并出现错误:

CUDA 驱动程序遇到内部错误。错误代码:0x100ff00000001c 进一步执行或调试不可靠。请确保您的临时目录以写入和执行权限挂载。

如果我像我自己的程序一样从 callbackAPI 调用,那么它会更快地失败并出现相同的错误:

CUPTI_ERROR_NOT_INITIALIZED

对这种问题有任何经验吗?我非常感谢!

0 投票
1 回答
718 浏览

c++ - 如何预防cuda-gdb 中的值

如何防止 cuda-gdb 优化任何值(无论是设备还是主机,本地还是全局)?我检查了 nvidia 论坛,但其中大多数都已有多年历史,似乎没有旧 cuda 版本的解决方案,但有最新版本(cuda 9.2 和 sm 61)的解决方案吗?

我正在使用nvidia 文档中描述的标志:

-g- “为主机代码生成调试信息。”

-G- “为设备代码生成调试信息。关闭所有优化。不要用于分析;改用 -lineinfo。”

0 投票
1 回答
436 浏览

cuda - 将 CUDA-gdb 与 NVRTC 一起使用

我有一个应用程序,它生成 CUDA C++ 源代码,在运行时使用 将其编译成 PTX NVRTC,然后使用 CUDA 驱动程序 API 从它创建 CUDA 模块。

如果我使用 调试此应用程序cuda-gdb,它会在回溯中显示内核(发生错误的位置),但不显示行号。

我将生成的源代码导出到一个文件中,并将目录提供给cuda-gdb使用该--directory选项。我还尝试将其文件名传递给nvrtcCreateProgram()name参数)。我使用编译选项--device-debug--generate-line-infoNVRTC。

有没有办法让cuda-gdb知道生成的源代码文件的位置,并在其回溯中显示行号信息?

0 投票
1 回答
640 浏览

c++ - cuda-gdb 给出错误“警告:检测到 Cuda API 错误:返回 cudaLaunchKernel (0x7)”

我正在尝试调试 cuda-gdb 中的程序。我能够在主机 (CPU) 上运行的代码中成功设置断点,但是每当我尝试在 GPU 上运行的代码中设置断点时,调试器就会跳过断点并给我以下错误:

然后它继续成功地执行其余的代码。我怎样才能使这些工作?

0 投票
1 回答
2357 浏览

c++ - Cuda 错误 (209): cudaLaunchKernel 返回 cudaErrorNoKernelImageForDevice

操作系统:CentOS 7 Cuda Toolkit 版本:11.0

Nvidia 驱动程序和 GPU 信息:

NVIDIA-SMI 450.51.05
驱动程序版本:450.51.05
CUDA 版本:11.0
GPU:Quadro M2000M

nvidia-smi详细信息截图

我对 cuda 编程非常陌生,因此非常感谢任何指导。我有一个非常简单的 cuda c++ 程序,它计算 GPU 上统一内存中两个数组的总和。但是,由于 cudaErrorNoKernelImageForDevice 错误,内核似乎无法启动。代码如下:

0 投票
0 回答
254 浏览

cuda-gdb - cuda-gdb 附加:一个程序已经在调试中。杀了它?

在 dmesg 中找到与 GPU 相关的日志后,我尝试附加到正在运行的进程(python3)。ex) 西 13、31、45

但由于以下消息,我无法获得任何线索。有谁知道这个消息是什么意思?

无法写入扩展状态状态:地址错误。
已经在调试程序。杀了它?

0 投票
1 回答
142 浏览

cuda - 有没有办法在 CUDA 中访问常量内存库的值

我一直在尝试调试使用内联 PTX 程序集的 cuda 程序。具体来说,我在指令级别进行调试,并试图确定指令参数的值。有时,反汇编包含对常量内存的引用。我正在尝试让 gdb 打印此常量内存的值,但没有找到任何说明如何执行此操作的文档。例如,反汇编包括 IADD R0, R0, c[0x0] [0x148]

我想确定如何让 gdb 打印 c[0x0] [0x148] 的值。我试过使用 print * (@constant) ... 但这似乎不起作用(我在这里传递了 0x148 并且它什么也没打印出来)。这可以在 cuda-gdb 中做到吗?

我试图通过在编译期间传递编译器选项 --disable-optimizer-constants 来避免这种情况,但这不起作用。