【发布时间】:2019-03-20 10:51:13
【问题描述】:
如何防止 cuda-gdb 优化任何值(无论是设备还是主机、本地还是全局)?我查看了 nvidia 论坛,但其中大多数都已有多年历史,似乎没有针对旧 cuda 版本的解决方案,但有最新版本(cuda 9.2 和 sm 61)的解决方案吗?
我正在使用标志described in nvidia's documentation:
-g - "为主机代码生成调试信息。"
-G - “为设备代码生成调试信息。关闭所有优化。不要用于分析;改用 -lineinfo。”
【问题讨论】:
-
唯一需要的是调试版本。但是,当变量实际在范围内时,您仍然需要检查它。从它被声明的那一刻起,它不一定在范围内。您可能必须向前迈出一步,直到变量真正以有意义的方式使用。
-
@RobertCrovella 我使用
nvcc和-g -G标志构建。另外,我已经确定我在范围内。还有其他可能的标志来关闭优化吗? -
我不知道
-
我遇到了同样的问题。我在编译标志中指定了“-G”,但变量在 cuda-gdb 中仍显示为“优化”。
标签: c++ c++11 cuda gdb cuda-gdb