首页 > 解决方案 > 在 Turing GPU 上使用 Nsight 无法在内核中命中断点

问题描述

我的电脑设置是:

操作系统:Windows 10

IDE:Visual Studio 2019(和 2015)

显卡:Quadro 4000 RTX

NVIDIA 驱动程序包:441.22 与 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 调试时,我从来没有遇到过这样的问题。

请指教。

标签: visual-studiocudansight

解决方案


正如评论中所指出的,如果此卡未设置为 TCC 模式,则它不能用于使用下一代调试的 Windows 中的 CUDA 调试(这是所有图灵卡支持的)。

我的解决方案是,我在我的计算机上添加了另一张 NVIDIA 卡,专门用于显示,因此我的 Quadro 4000 RTX 可以专注于计算(TCC 模式)。它现在完美无缺。


推荐阅读