【问题标题】:Cannot hit breakpoints inside kernel using Nsight on a Turing GPU在 Turing GPU 上使用 Nsight 无法在内核中命中断点
【发布时间】:2020-04-27 11:10:30
【问题描述】:

我的电脑设置是:

操作系统:Windows 10

IDE:Visual Studio 2019(和 2015)

GPU:Quadro 4000 RTX

NVIDIA 驱动包:441.22 Drivers for use with the CUDA Toolkit 10.2,包括 Nsight 2019.4

我打开了一个名为“matrixMul”的 CUDA 示例项目,并在内核中设置了断点

template <int BLOCK_SIZE> __global__ void MatrixMulCUDA(float *C, float *A,
                                                        float *B, int wA,
                                                        int wB)

但是,如果我“启动 CUDA 调试(下一代)”,我会收到错误消息“无法初始化指定 CUDA 调试器的驱动程序。调试已自动停止。”

如果我“启动 CUDA 调试(旧版)”,我会收到错误消息“在旧版 CUDA 调试器不支持的 GPU 上创建了 CUDA 上下文。断点将被禁用。有关详细信息,请参阅输出窗口。 ”。

我现在很困惑。在 Nsight 6.5 中使用 Legacy 调试时,我从来没有遇到过这样的问题。

请指教。

【问题讨论】:

  • 除非您的 GPU 处于 TCC 模式,否则不支持调试
  • @talonmies 需要解释一下吗?那么我应该将我的 GPU 设置为 TCC 模式吗?谢谢。
  • 我认为这是不言自明的。如果您的卡没有处于 TCC 模式,则无法使用下一代调试,并且您的 GPU 不支持旧版调试
  • 好的。非常感谢。我添加了另一张显卡,现在它可以工作了。

标签: visual-studio cuda nsight


【解决方案1】:

正如cmets中指出的,如果这张卡没有设置为TCC模式,那么它就不能在Windows中使用下一代调试(这是图灵卡都支持的)进行CUDA调试。

我的解决方案是在我的计算机上添加另一张 NVIDIA 卡以专用于显示,这样我的 Quadro 4000 RTX 就可以专注于计算(TCC 模式)。现在完美运行。

【讨论】:

    猜你喜欢
    • 2013-12-02
    • 2013-03-05
    • 2019-08-24
    • 2018-11-19
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    相关资源
    最近更新 更多