如何防止 CUDA-GDB 中的<优化输出>值

how to prevent <optimized out> values in cuda-gdb

本文关键字:优化 gt 输出 lt 何防止 CUDA-GDB 中的      更新时间:2023-10-16

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

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

-g- "生成主机代码的调试信息"。

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

如何防止 cuda-gdb 优化任何值

cuda-gdb没有优化任何东西;它只是解释编译器(nvcc(放入二进制文件的调试信息。

如果编译器选择不描述某个变量的位置,则cuda-gdb无法恢复该信息。这通常是调试nvcc信息的质量问题。

nvcc可能确实描述了您所追求的位置,但cuda-gdb无法处理该描述,在这种情况下,它是cuda-gdb中的错误。

无论哪种情况,除了向NVidia投诉之外,您都无能为力。