安装与设置

NVIDIA Nsight Visual Studio Edition 的安装与设置要点

安装与设置要点

为了减少安装 NVIDIA Nsight Visual Studio Edition 工具时遇到问题的几率,请提前考虑几个事项。例如,确定您是想在一台机器上运行工具并在另一台机器上调试应用程序,还是在单台机器上进行调试。执行远程调试可能是有利的,因为即使目标机器由于应用程序崩溃而必须重新启动,Visual Studio 环境仍将在主机上继续运行。

远程调试允许您通过网络进行调试,这意味着目标机器可以轻松地提供给开发团队,或者提供给无法物理访问目标 GPU 的成员。

开始之前

任务

有关更多信息,请参阅…

查看产品的硬件和软件要求,以确保您具有最低或推荐的配置。

NVIDIA® Nsight™ 软件的系统要求

查看安装过程的概述,以确保您了解可以配置开发系统的方式。

目标机和主机设置

NVIDIA Nsight VSE 软件的系统要求

最低

推荐

操作系统[1]

Windows® 10 RS4(内部版本 1803)

Windows® 11

Windows Server 2022 (64 位)

最低或更高

CPU

Intel(R) Pentium(R) 双核 CPU 或同等产品 @ 1.6 GHz 最低

Intel(R) >Pentium(R) 双核 CPU 或同等产品 @ 2.2 GHz 或更高

内存

主机(带有 Visual Studio):最低 2 GB

目标机:最低 2 GB *

主机(带有 Visual Studio):2 GB 或更多

目标机:4 GB 或更多

硬盘空间

330 MB 用于 NVIDIA Nsight™ VSE 软件

在带有 NVIDIA Nsight™ VSE Host 软件的 64 位机器上:330 MB 加上项目文件所需的空间。

如果使用远程机器运行/调试目标应用程序,则远程机器:240 MB 加上目标应用程序的调试版本所需的空间。

硬件

专用于目标 GPU 的显示器

推荐使用 DVI 连接

本地调试(主机和目标机在同一台机器上)

一个或多个 GPU(有关更多信息,请参阅 https://developer.nvidia.com/nsight-visual-studio-edition-requirements

对于计算调试,请参阅 计算调试器支持的配置

与最低要求相同

远程调试(主机和目标机在不同的机器上)

在目标机器上

目标机器上的 1 个 GPU:必须是支持的显卡(见下文)。

在主机上(带有 Visual Studio)

主机上的 1 个 GPU:可以是任何 GPU

对于计算调试,请参阅 计算调试器支持的配置。请注意,下一代调试器尚不支持远程调试。

与最低要求相同

软件

显示驱动程序

您必须安装支持 NVIDIA Nsight™ VSE 的 NVIDIA 显示驱动程序。

请参阅发行说明以了解兼容的驱动程序版本。

与最低要求相同

本地调试(主机和目标机是同一台机器)[2][3][4]

.NET Framework 4.0

以下一项或多项

  • Microsoft Visual Studio 2019,Community Edition 或 Professional Edition 或更高版本。

    (请注意,所有 Visual Studio 2019 实例都将使用 NVIDIA Nsight™ VSE 进行更新)。

  • Microsoft Visual Studio 2022,Community Edition 或 Professional Edition 或更高版本。

    (请注意,所有 Visual Studio 2022 实例都将使用 NVIDIA Nsight™ VSE 进行更新)。

对于计算调试,请参阅 计算调试器支持的配置

与最低要求相同

远程调试(主机和目标机在不同的机器上)[2][3][4]

主机: .NET Framework 4.0

以下一项或多项

  • Microsoft Visual Studio 2019,Community Edition 或 Professional Edition 或更高版本。

    (请注意,所有 Visual Studio 2019 实例都将使用 NVIDIA Nsight™ VSE 进行更新)。

  • Microsoft Visual Studio 2022,Community Edition 或 Professional Edition 或更高版本。

    (请注意,所有 Visual Studio 2022 实例都将使用 NVIDIA Nsight™ VSE 进行更新)。

目标机:.NET Framework 4.0

对于计算调试,请参阅 计算调试器支持的配置。请注意,下一代调试器尚不支持远程调试。

与最低要求相同

网络

Internet 连接以下载安装程序

对于远程调试:TCP/IP 网络以将主机连接到目标机

与最低要求相同

[1] 对 Windows Server 2019 的支持自 2023.3.0 起已弃用,并已从 2024.1.0 版本中删除。

[2] 对 Visual Studio 2015 的支持自 2020.2.0 起已弃用,并已从 2020.3.0 版本中删除。

[3] 对 Visual Studio 2017 的支持自 2024.2.0 起已弃用,并已从 2025.1.0 版本中删除。

[4] 对 Visual Studio 2019 的支持自 2025.1.0 起已弃用,并将在未来的版本中删除。

NVIDIA Nsight Visual Studio Edition 支持四种灵活的硬件配置

  • 单 GPU 系统:适用于使用 NVIDIA Nsight™ VSE CUDA 调试器进行 API 级别帧调试[*]、性能分析和 GPGPU 开发人员调试的开发人员。

  • 双 GPU 系统:推荐给 GPGPU 开发人员的单机配置。此配置同时支持 NVIDIA Nsight™ VSE CUDA 调试器和分析器[*]

  • 两个系统,每个系统都配备一个 GPU:推荐给需要图形 API 帧调试器[*]和范围分析器[*]的额外功能的图形开发人员,或者同时执行 GPGPU 和图形任务的开发人员的配置。支持 Nsight 工具系列的所有 GPGPU 和图形调试[*]、性能分析[*]和分析[*]功能。

  • 配备 NVIDIA Optimus 技术的笔记本电脑:推荐给 GPGPU 开发人员的单笔记本电脑配置。此配置同时支持使用 NVIDIA Optimus 技术的 NVIDIA Nsight™ VSE CUDA 调试器。

[*] 请注意,NVIDIA Nsight Visual Studio Edition 仅支持 GPGPU 调试。

  • 图形范围性能分析和图形帧调试可以使用 Nsight Graphics 通过 NVIDIA Nsight Integration 完成,

  • 系统跟踪分析应使用 Nsight Systems 通过 NVIDIA Nsight Integration 完成,并且

  • 内核性能分析可以使用 Nsight Compute 通过 NVIDIA Nsight Integration 完成

支持的显卡

截至 CUDA Toolkit 12.8,对 Maxwell、Pascal 和 Volta GPU 架构的支持已被弃用,并将在即将发布的版本中删除。对齐的 Nsight VSE 2025.1 版本弃用了整个旧版调试器(支持 Maxwell),并将与相关的 CUDA Toolkit 对齐删除此调试器。同样,下一代调试器对 Pascal 和 Volta 的支持在 2025.1 版本中已弃用,并将在未来的版本中删除。CUDA 调试在 Turing 或更高版本的 GPU 上受支持,但 NVIDIA 专用专业(加密货币)挖矿 GPU 除外。有关 Nsight Visual Studio Edition 的硬件和软件要求的更多信息,请参阅 Nsight Visual Studio Edition 要求

计算调试器支持的配置

Pascal、Volta、Turing 和 Ampere 系列 GPU 的 CUDA 调试器支持经历了一个过渡,需要一个新的 NVIDIA Nsight Visual Studio Edition 计算调试器,我们将其称为下一代计算调试器(与旧版计算调试器相对)。

旧版计算调试器提供(仅)对 WDDM 模式下的 Pascal GPU 和 Maxwell GPU 的支持。

下一代计算调试器提供对 Pascal 和更高版本 GPU 的支持。

注意

截至 CUDA Toolkit 12.8,对 Maxwell、Pascal 和 Volta GPU 架构的支持已被弃用,并将在即将发布的版本中删除。

对齐的 Nsight VSE 2025.1 版本弃用了整个旧版调试器(支持 Maxwell),并将与相关的 CUDA Toolkit 对齐删除此调试器。同样,下一代调试器对 Pascal 和 Volta 的支持在 2025.1 版本中已弃用,并将在未来的版本中删除。

旧版和下一代计算调试器在 Visual Studio 的扩展菜单下的 Nsight 下可用。

详细的支持历史记录如下所述。

NVIDIA Nsight™ VSE 5.5 和 5.6

  • Pascal 和 Volta 硬件可以在 TCC 驱动程序模式下使用下一代 CUDA 调试器进行调试。

  • Pascal GPU 可以在 WDDM 驱动程序模式下使用旧版 CUDA 调试器进行调试。

  • Maxwell 和更早版本的 GPU 可以在旧版硬件上进行调试。

  • Volta GPU 在 WDDM 模式驱动程序上的支持仅在 6.0 版本和 r400 驱动程序中可用。

NVIDIA Nsight Visual Studio Edition 6.0

下一代 CUDA 调试器增加了对以下内容的支持

  • TCC 驱动程序模式下的 Turing 系列 GPU 调试。

  • WDDM 驱动程序模式下的 Pascal、Volta 和 Turing 系列 GPU 调试,使用 410.29 或更高版本的驱动程序以及 Win10RS4 或更高版本。

NVIDIA Nsight Visual Studio Edition 2020.1

  • 为下一代调试器添加了 NVIDIA Ampere GA100 支持(仅在 r445 和 r450 TCC 驱动程序模式下)

  • 从旧版调试器中删除了 Kepler (sm_30, sm_32) 支持

  • Kepler (sm_35, sm_37, sm_50) 支持已在旧版调试器中弃用

  • 从旧版调试器中删除了 Pascal 支持

  • 所有调试器都删除了 Windows 7 支持

  • Nsight VSE 2020.1 版本及更高版本的所有调试器都需要 445.53 或更高版本的驱动程序

NVIDIA Nsight Visual Studio Edition 2020.2

  • 为下一代调试器添加了 NVIDIA Ampere GA102 和 GA104 支持

  • Nsight VSE 2020.2 版本及更高版本的所有调试器都需要 455.00 或更高版本的驱动程序

Nsight Visual Studio Edition 版本 v2024.4

  • 下一代 CUDA 调试器现在支持 Microsoft Compute Driver Model (MCDM) GPU 调试(请注意,r555 驱动程序在 MCDM 模式下不适用于 Hopper GPU,但有望在更高版本的驱动程序中工作)。

请参阅下表,了解支持的计算调试器、驱动程序、GPU 和操作系统配置。

旧版和下一代 CUDA 调试器支持的 NVIDIA GPU 架构、驱动程序和操作系统配置

操作系统

Windows 7

(在 v2020.1 中删除)

Windows 10、11

驱动程序模式

WDDM RS4

TCC

MCDM

驱动程序版本

r445+

r445+

r555+

Kepler 或更早版本的 GPU

旧版

image1

image2

image2

不支持

下一代

image1

image8

不支持

不支持

Maxwell

旧版

image6

image4

image4

不支持

下一代

image6

image8

不支持

不支持

Pascal

旧版

image9

image4

image10

不支持

下一代

image9

image4

image4

image4

Volta

旧版

image12

image13

image13

image13

下一代

image12

image4

image4

image4

Turing

Ampere

Ada

Hopper

Blackwell

旧版

image12

image13

image13

image13

下一代

image12

image14

image14

image14

image19

CUDA 调试器支持的配置。

image20

CUDA 调试器与此 GPU、驱动程序和/或操作系统不兼容。

不支持

CUDA 调试器不支持。多上下文应用程序将无法工作。

N/A

无效的 GPU/驱动程序组合。

image21

已弃用的 GPU。NVIDIA Nsight™ VSE 对此 GPU 的支持将在未来的版本中删除。

image22

对此配置的支持已删除。


操作指南:安装 NVIDIA Nsight 开发工具套件

在 NVIDIA 为基于 GPU 的应用程序开发提供的众多工具中,NVIDIA Nsight 工具套件集成到 Visual Studio 中。为了在 Visual Studio 中使用完整的 NVIDIA Nsight 工具套件,您需要下载并安装以下工具

NVIDIA Nsight 工具

用途

需要在 Microsoft Visual Studio 中使用 NVIDIA Nsight Integration

NVIDIA Nsight Visual Studio Edition

用于集成 Visual Studio 开发、构建、调试、代码正确性和核心转储分析的 CPU+GPU CUDA 调试器。

否,此工具自行集成

NVIDIA Nsight Compute

CUDA 应用程序交互式内核性能分析器

NVIDIA Nsight Integration[1]

Visual Studio 扩展程序,允许集成参与的 NVIDIA Nsight 工具。

NVIDIA Nsight Graphics

图形应用程序帧调试器和性能分析器

NVIDIA Nsight Systems

系统级性能分析工具

[1] 从以下任一位置安装此扩展程序

../_images/nsight-menu.01.png

有关使用此扩展程序的更多信息

请访问以下位置以了解 NVIDIA Nsight Developer Tools Visual Studio Integration

从 Visual Studio Marketplace 下载 NVIDIA Nsight Integration

从以下任一位置安装此扩展程序

有关 NVIDIA 开发工具的更多信息

NVIDIA 提供了大量用于基于 GPU 的应用程序开发的工具,这些工具面向许多硬件平台和操作系统。要了解更多信息,请访问

操作指南:安装 NVIDIA Nsight Visual Studio Edition

NVIDIA Nsight Visual Studio Edition 软件包括两个主要软件

  • Nsight Monitor,以及

  • Visual Studio® 扩展。

您需要在目标机和主机上都安装 Nsight Monitor。请注意,为了运行基于 CUDA 的应用程序,目标机必须具有支持 CUDA 的显卡。有关完整列表,请参阅 NVIDIA® Nsight™ 软件的系统要求

安装 NVIDIA Nsight VSE 软件

  1. 从 NVIDIA 获取安装程序。选择适合您操作系统的安装程序版本。

  2. 运行安装程序。

    下一页要求您允许收集匿名使用数据,以帮助 NVIDIA 改进 Nsight Visual Studio Edition。

    请注意,您可以随时使用 Visual Studio 主菜单 > Nsight > 选项 > 反馈菜单更改您的首选项。(有关更多信息,请参阅 主机基础知识。)

  3. 在第一个屏幕上,接受许可协议,然后单击下一步

  4. 下一个屏幕允许您自定义将要安装的功能。这些功能包括

    • NVIDIA Nsight for Visual Studio[1][2][3] 2019 或 2022。

      (注意:对于 Visual Studio[1][2][3] 2019 和 2022,NVIDIA Nsight™ VSE 安装设置将应用于相应版本的所有实例。)

    • NVIDIA Nsight™ VSE Monitor。

  5. 单击安装以开始安装过程。您可能会收到警告消息,要求您验证您正在安装的软件是否来自受信任的来源。在这种情况下,单击,安装将继续。

  6. 单击完成以完成安装。

安装程序会将多个文件放在您的硬盘驱动器上。默认安装目录为

C:\Program Files (x86)\NVIDIA Corporation\Nsight Visual Studio Edition 2023.2

[1] 对 Visual Studio 2015 的支持自 2020.2.0 起已弃用,并已从 2020.3.0 版本中删除。

[2] 对 Visual Studio 2017 的支持自 2024.2.0 起已弃用,并已从 2025.1.0 版本中删除。

[3] 对 Visual Studio 2019 的支持自 2025.1.0 起已弃用,并将在未来的版本中删除。

运行 Nsight Monitor

安全和身份验证

Nsight Monitor 需要管理员身份验证才能运行。UAC 可能会影响 Windows 提示您进行身份验证的方式。

场景 1(未启用 UAC 且进行远程调试)

假设您已将系统配置为进行远程调试,并且您以 User1 身份登录到远程机器。如果未启用 Windows 用户帐户控制 (UAC),则 User1 只有在该用户帐户在远程机器上具有管理员权限的情况下才能启动 Nsight Monitor。例如,如果 User1 是以下成员,则 User1 可以启动 Nsight Monitor

  • Administrators 本地组的成员,或

  • 已添加到远程机器上的管理员组的域帐户,或

  • 由组策略定义为具有本地管理员权限,或

  • 管理员帐户。

场景 2(启用 UAC 且进行远程调试)

假设您以 User2 身份登录到远程机器。如果启用了 Windows 用户帐户控制 (UAC),当您尝试在远程机器上启动 Nsight Monitor 时,系统将提示您提供身份验证。

  • 如果 User2 没有管理员权限,系统将提示您输入具有管理员权限的用户名和密码。

  • 如果 User2 具有管理员权限,您需要在用户帐户控制窗口提示时单击“允许”。

有关 UAC 的更多信息,请参阅:http://windows.microsoft.com/en-US/windows7/what-is-user-account-control

注意

场景 2 往往是启动 Nsight Monitor 的更安全方法,因为管理员权限仅适用于 Monitor 的运行。

主机名中的非 ASCII 字符

如果您在使用了国际字符的机器上安装 Nsight Monitor,则必须修改其中一个 Visual Studio 配置文件。国际字符是指不在 ASCII 字符集中的 Unicode 字符,例如西里尔字符、带有重音符号的字符或在非英语语言(如 ñ)中使用的字符。

要添加对国际字符的支持

  1. 打开 Visual Studio 安装目录中的 devenv.exe.config 文件。

  2. 添加以下文本

    <configuration>
        <configSections>
             <section
                 name="uri"
                 type="System.Configuration.UriSection, System,  Version=2.0.0.0,
                 Culture=neutral,
                 PublicKeyToken=b77a5c561934e089" />
        </configSections>
            <uri>
                <idn enabled="All"  />
                <iriParsing enabled="true" />
            </uri>
    </configuration>
    
  3. 保存并关闭 devenv.exe.config 文件。

请注意,更改上述配置文件会产生副作用。有关更多信息,请参阅 NVIDIA 论坛

目标机和主机设置

NVIDIA Nsight™ VSE 允许您以两种不同的方式调试应用程序

  • 本地调试,其中主机和目标机在同一台机器上。

  • 远程调试,其中主机和目标机在两台不同的机器上。

本地调试

注意

当使用 NVIDIA Nsight™ VSE 调试某些类型的应用程序(例如大多数图形应用程序)时,通常建议使用远程调试配置,因为本地调试可能会对应用程序的性能产生不利影响。

如果您将系统配置为进行本地调试,您将使用一台计算机来构建项目并运行要调试的应用程序。这意味着您的计算机中需要有一个或多个 GPU,并且必须满足最低要求。(有关支持的 GPU 列表,请参阅系统要求。)请注意,CUDA 调试仅需要一个 GPU

远程调试

如果您选择将系统配置为进行远程调试,您将使用一台计算机作为主机。主机将运行 Visual Studio 来构建您的项目,以及启动调试会话。

同时,将另一台计算机配置为目标机。目标机将执行以下操作

  • 运行 NVIDIA Nsight™ VSE Monitor。监视器检测来自主机的传入请求,以在目标机上执行应用程序。

  • 运行要调试或分析的应用程序。NVIDIA Nsight™ VSE 软件管理主机和目标机之间的文件同步。

以这种方式执行远程调试可能是有利的,因为即使目标机器由于应用程序崩溃而必须重新启动,Visual Studio 环境仍将在主机上继续运行。远程调试还允许您通过网络进行调试,这意味着目标机器可以轻松地提供给开发团队,或者提供给无法物理访问目标 GPU 的成员。

目标机基础知识

当使用 NVIDIA Nsight™ VSE 调试应用程序时,将运行正在分析的应用程序和 Nsight Monitor 的计算机通常称为目标机。Nsight Monitor 检测来自主机的传入请求,以在目标机上启动应用程序。

目标计算机不需要运行 Visual Studio。只要应用程序本身将在机器上运行,您需要在目标机上安装的只是 Nsight Monitor 软件。

在目标计算机上配置远程调试

  1. 在目标机上安装 NVIDIA Nsight™ VSE 软件后,启动 Nsight Monitor。

    1. 单击屏幕左下角的 Windows“开始”菜单。

    2. 在已安装的程序中向下滚动并选择:NVIDIA Corporation > Nsight Monitor。

    Nsight Monitor 启动。监视器图标将出现在系统托盘中。

    ../_images/nsight_monitor_taskbar.0011.png
  2. 右键单击系统托盘中的 Nsight Monitor 图标,然后选择“选项”。

    ../_images/nsight_monitor_taskbar_options.0011.png
  3. 在“选项”屏幕的常规页面上,您可以选择更改 NVIDIA Nsight™ VSE 和您的应用程序使用的通信端口号。NVIDIA Nsight™ VSE 的默认端口号为 8000,而应用程序的默认端口为 8001。请注意,主机和目标机上的端口号必须匹配,才能成功建立连接。(有关更多信息,请参阅 主机基础知识。)

    ../_images/nsight_monitor_general.004.png

    在此页面上,您可以选择是否启用安全服务器,还可以输入可以连接到目标计算机的受信任计算机的名称。

    要启用某些调试功能,您可能需要调整 Windows 超时检测和恢复设置。有关更多信息,请参阅 超时检测和恢复

注意

关于下一代调试器端口使用的说明: 虽然不是专门可配置的,但下一代调试器使用端口 4501,但如果 4501 正在使用中,则可以使用高达 4510 的端口。因此,当使用下一代调试器时,建议打开 4501-4510 的范围。

  1. CUDA (旧版) 页面上,您可以设置旧版 CUDA 调试器的各种选项,例如是否允许 Nsight Monitor 附加到已在运行的 CUDA 应用程序。

    ../_images/nsight_monitor_cuda_legacy.001.png
  2. 更新页面上,配置 NVIDIA Nsight™ VSE 将用于检查更新的选项。

    ../_images/nsight_monitor_updates.003.png
  3. 单击“确定”以应用您的新设置。

主机基础知识

在 NVIDIA Nsight Visual Studio Edition 中,主机是指运行 Visual Studio 的计算机,您的应用程序将在其中构建和调试。在您的计算机上安装 NVIDIA Nsight™ VSE 后,您将在 Visual Studio 菜单栏中的扩展菜单下看到一个名为 Nsight 的新子菜单。

../_images/nsight-menu-2019.01.png

随意浏览此菜单上的各种选项。调试的关键项将在后面的主题中进行更详细的讨论。

NVIDIA Nsight 主机设置

在主机上安装 NVIDIA Nsight™ VSE 后,打开 Visual Studio 并转到 Nsight > 选项 以配置您的设置。

  1. 常规页面上,配置一些基本选项,例如超时、是否启用安全连接以及 NVIDIA Nsight™ VSE 应使用哪个端口连接到目标机。

    请注意,默认端口设置为 8000。主机和目标机上的端口号必须匹配,才能成功建立连接。(有关更多信息,请参阅 目标机基础知识。)

    ../_images/nsight-host-options-general.01.png
  2. CUDA 页面上,您可以配置 旧版 CUDA 调试器CUDA 内存检查器的多个选项。

    ../_images/nsight-host-options-cuda.01.png
  3. 调试器页面上,配置 NVIDIA Nsight™ VSE 的一些基本显示选项。

    ../_images/nsight-host-options-debugger.01.png
  4. 反馈页面上,您可以选择是否允许收集匿名使用数据,以帮助 NVIDIA 改进 Nsight Visual Studio Edition。

    ../_images/nsight-host-options-feedback.01.png
  5. 更新页面上,选择是否希望 NVIDIA Nsight™ VSE 在启动时自动搜索更新。

    ../_images/nsight-host-options-updates.01.png

完成 NVIDIA Nsight™ VSE 的选项配置后,单击“确定”。

在主机上配置 NVIDIA Nsight VSE

在主机上安装 NVIDIA Nsight™ VSE 后,需要对其进行配置。为此,请执行以下操作

  1. 在 Visual Studio 中打开您的项目。

  2. 在“解决方案资源管理器”菜单上,单击“Nsight 用户属性”图标。(作为替代方法,您也可以转到“项目”菜单 > “Nsight 用户属性”。)

    ../_images/nsight_host_solutionexplorer.002.png
  3. 这将打开“NVIDIA Nsight™ VSE 用户设置”对话框。

    ../_images/nsight-host-launch.01.png

    在默认的启动页面上,配置在开始调试项目时要使用的适当操作和选项。

    1. 对于“启动外部程序”,输入要调试的应用程序的文件路径。

    2. 对于由另一个应用程序启动的应用程序(例如 Steam 应用程序或专有启动器应用程序),您应选中应用程序是启动器复选框。

    3. 启动选项部分允许您配置目标机的地址、所需的任何命令行参数以及设置工作目录。

      连接名称字段可以是本地网络上机器的 IP 地址,也可以是网络上识别的机器名称(有关更多信息,请参阅 推荐的 IP 地址格式)。

      请注意,您还可以选择使用 Nsight 连接 工具栏来指定应用于运行目标应用程序的计算机的地址。

      ../_images/nsight_connections_toolbar.003.png
  4. 单击“同步”页面。

    ../_images/nsight-host-launch-synchronization.01.png

    从此处,您可以选择要包含或排除以进行同步的文件扩展名。

    如果您正在调试大型应用程序,您将需要关闭同步以防止性能问题。

    注意

    使用文件同步时,所有文件路径都相对于 localhost

    当文件同步关闭时,文件路径相对于目标机(这也可能是 localhost,具体取决于您的设置。)

设置远程调试

要在远程调试配置中配置 NVIDIA Nsight™ VSE,请按照以下步骤操作

  1. 确保目标机(此机器必须具有支持的 GPU)和主机满足系统要求。

    有关更多信息,请参阅 NVIDIA Nsight 软件的系统要求

  2. 安装 NVIDIA Nsight™ VSE 工具随附的 NVIDIA 显示驱动程序。

    如果您已安装 NVIDIA 驱动程序,则安装程序会将其替换为更新的驱动程序。

    有关更多信息,请参阅 操作指南:安装 NVIDIA 显示驱动程序

  3. 在目标机上安装 NVIDIA Nsight™ VSE 软件。

    有关更多信息,请参阅操作指南:安装 NVIDIA Nsight VSE

  4. 启动 Nsight Monitor。

    1. 在目标机器上,单击屏幕左下角的 Windows“开始”菜单。

    2. 在已安装的程序中向下滚动并选择:NVIDIA Corporation > Nsight Monitor。

    Nsight Monitor 启动。监视器图标将出现在系统托盘中。

    ../_images/nsight_monitor_taskbar.0011.png
  5. 对 Nsight Monitor 进行任何必要的配置更改。(有关配置目标机器的更多信息,请参阅目标基础知识,有关配置 TDR 设置的信息,请参阅超时检测和恢复。)

  6. 某些更改需要您重启目标机器;其他更改仅需您退出并重启 Nsight Monitor 本身。

  7. 在主机上安装 NVIDIA Nsight™ VSE 软件。有关更多信息,请参阅操作指南:安装 NVIDIA Nsight™ VSE

您已完成执行远程调试所需组件的安装。

另请参阅

参考

通过 WDDM 实现 GPU 的超时检测和恢复

设置本地调试

要在本地调试配置中配置 NVIDIA Nsight™ VSE,请按照以下步骤操作

  1. 确保您使用的机器满足系统要求。

    有关更多信息,请参阅 NVIDIA Nsight 软件的系统要求

  2. 安装 NVIDIA Nsight™ VSE 工具随附的 NVIDIA 显示驱动程序。

    如果您已安装 NVIDIA 驱动程序,则安装程序会将其替换为更新的驱动程序。

    有关更多信息,请参阅 操作指南:安装 NVIDIA 显示驱动程序

  3. 安装 NVIDIA Nsight™ VSE 软件。

    有关更多信息,请参阅操作指南:安装 NVIDIA Nsight VSE

  4. 启动 Nsight Monitor。

    1. 在目标机器上,单击屏幕左下角的 Windows“开始”菜单。

    2. 在已安装的程序中向下滚动并选择:NVIDIA Corporation > Nsight Monitor。

    Nsight Monitor 启动。监视器图标将出现在系统托盘中。

    ../_images/nsight_monitor_taskbar.0011.png
  5. 对 Nsight Monitor 进行任何必要的配置更改。(有关配置目标机器的更多信息,请参阅目标基础知识,有关配置 TDR 设置的信息,请参阅超时检测和恢复。)

  6. 某些更改需要您重启目标机器;其他更改仅需您退出并重启 Nsight Monitor 本身。

您已完成使用 NVIDIA Nsight™ VSE 执行本地调试所需组件的安装。

另请参阅

参考

通过 WDDM 实现 GPU 的超时检测和恢复

设置混合模式

NVIDIA Nsight Visual Studio Edition 能够分析和调试使用 Windows 10 混合模式的笔记本电脑上的应用程序。为此,您需要将您的机器配置为为 NVIDIA Nsight™ VSE 使用高性能 NVIDIA GPU。

有两种方法可以指示应用程序使用 NVIDIA GPU。

  1. 配置所有应用程序使用 NVIDIA GPU。

  2. 仅配置特定应用程序使用 NVIDIA GPU。

第一个选项最易于控制,但可能会对整体系统性能产生不利影响。第二个选项更精细,并允许系统保持较低功耗。

要开始使用,请右键单击桌面,然后打开NVIDIA 控制面板

../_images/nvidia_control_panel.002.png

NVIDIA 控制面板打开后,单击管理 3D 设置

../_images/nvidia_manage_3d_settings.002.png

选项 1:全局设置

  • 全局设置选项卡上,选择首选图形处理器下的下拉菜单,然后选择高性能 NVIDIA 处理器

  • 单击应用以保存更改。现在可以在混合模式下分析、跟踪和调试所有应用程序。

    ../_images/nvidia_3d_settings_preferred_processor.002.png

选项 2:程序设置

程序设置选项卡上,您可以添加每个应在 NVIDIA GPU 上运行的应用程序。

  • 1. 选择要自定义的程序下,按添加以选择要调试、分析和/或跟踪的可执行文件的正在运行的实例。您也可以直接浏览到所需可执行文件的位置。

    如果您计划运行序列化帧捕获,则解决方案(和构建的可执行文件)通常位于

    C:\Users\<user>\Documents\NVIDIA Nsight\Captures\<TimeStampedCaptureProcess>
    

    构建的可执行文件位于子目录中

    <architecture>\<build>\<TimeStampedCaptureProcess>.exe
    
  • 添加选定的程序以确认您的选择。

    ../_images/nvidia_3d_program_settings_add_app.001.png
  • 单击2. 选择此程序的首选图形处理器:下的下拉菜单,然后选择高性能 NVIDIA 处理器

  • 单击应用以保存更改。现在可以在混合模式下分析、跟踪和调试指定的应用程序。

    ../_images/nvidia_3d_high_perf_gpu_for_nsight.001.png

设置本地无头 GPU 调试

在具有两个 GPU 的计算机上,您可以将一个 GPU 指定为“无头 GPU”。在这种情况下,“无头”一词指的是附加 GPU 不向显示器发送显示信息的配置。

您可能选择使用无头 GPU 调试的原因是 Windows 操作系统通常要求为每个可用的 GPU 分配一个桌面。当尝试在本地调试基于 CUDA 的应用程序时,这可能会导致问题。如果在运行 CUDA 调试器的同一 GPU 上运行桌面,并且该 GPU 正在运行正在调试的基于 CUDA 的应用程序,则 CUDA 调试器在与正在调试的应用程序通信时可能会遇到问题。当尝试在附加了显示器的 GPU 上进行本地调试时,CUDA 调试器会自动禁用断点。

以下过程允许您解决桌面要求。

要以无头模式运行

  1. 确保您至少安装了一个支持 CUDA 的 NVIDIA GPU。

  2. 确保您系统上安装的 NVIDIA 显示驱动程序与发行说明中推荐的显示驱动程序匹配。如果您安装了新的显示驱动程序,请重启 Windows 操作系统。

  3. 如果您将物理监视器电缆连接到每个 GPU,请从 NVIDIA 控制面板关闭其中一个 GPU 的显示。

    1. 右键单击桌面,然后选择 NVIDIA 控制面板。

    2. 在左侧窗格中的“显示”下,选择“设置多个显示器”。

    3. 取消选中要用作目标(无头 GPU)的显示器的复选框。

    4. 单击“应用”按钮。

      ../_images/nvidia.controlpanel.multipledisplays.002.png
  4. 关闭 NVIDIA 控制面板。

  5. 确保您的 CUDA 源代码将非桌面设备指定为将执行代码 CUDA 部分的设备。

    如果您不确定哪个设备是无头 GPU,请使用 CUDA SDK 工具包中的 DeviceQueryDrv 示例,然后设置 CUDA_VISIBLE_DEVICES 环境变量。

注意

对于本地调试配置,请确保您首先禁用 WPF 的 D3D 加速。有关帮助,请参阅设置本地调试

操作指南:安装 NVIDIA 显示驱动程序

建议您安装 NVIDIA Nsight™ VSE 2020.1.1 要求的 NVIDIA 显示驱动程序。有关更多信息,请参阅发行说明

如果您的目标机器上安装了 NVIDIA 显卡,您可能已经安装了 NVIDIA 显示驱动程序。但是,NVIDIA Nsight Visual Studio Edition 需要更新版本的驱动程序才能正常运行。请参阅最新的发行说明,了解有关兼容驱动程序版本的说明

安装 NVIDIA 显示驱动程序

  1. 运行 NVIDIA 显示驱动程序安装程序。

    显示驱动程序安装程序出现。

    ../_images/nsight.displaydriver.install.noversion.001.png
  2. 按照安装程序指示操作,直到最后一个屏幕。请勿重启。

    ../_images/nsight.displaydriver.finishinstall.noversion.001.png
  3. 当出现提示时,选择“否,稍后重启计算机”。

  4. 单击“完成”。

另请参阅

NVIDIA 驱动程序下载

参考

Tesla 计算集群 (TCC)

操作指南:配置安全连接

为了使 Visual Studio 中的 NVIDIA Nsight™ VSE 主机软件和目标机器上的 Nsight Monitor 能够相互通信,它们的安全性设置必须匹配。

要启用安全连接

  1. 在主机上,打开 NVIDIA Nsight™ VSE选项窗口上的“常规”页面。

    1. 从 Visual Studio 的“Nsight”菜单中,选择选项

    2. 选择常规选项卡。

  2. 在“安全性”下,选择启用安全连接旁边的下拉菜单,然后选择True

    ../_images/nsight_host_options_general_secure_enabled.01.png
  3. 单击“确定”。NVIDIA Nsight™ VSE 选项窗口关闭。

  4. 在目标机器(远程机器或 localhost,取决于您的配置)上,启动 Nsight Monitor(如果尚未运行)。

    1. 单击 Windows“开始”菜单。

    2. 在已安装的程序中向下滚动并选择:NVIDIA Corporation > Nsight Monitor。

    ../_images/nsight_monitor_taskbar.0011.png
  5. 右键单击任务栏中的 Nsight Monitor 图标。

    ../_images/nsight_monitor_taskbar_options.0011.png
    1. 选择选项

      NVIDIA Nsight™ VSE 选项窗口出现。

    2. 单击常规

  6. 启用安全连接旁边,选择True

    ../_images/nsight_monitor_general_enable_secure.01.png
  7. (可选)在“受信任的机器”旁边,您可以列出始终允许连接到 Nsight Monitor 的机器的主机名。您可以输入 DNS 查找名称或 IP 地址(有关更多信息,请参阅推荐的 IP 地址格式)。

  8. 单击“确定”。

  9. 退出并重启 Nsight Monitor。

NVIDIA Nsight™ VSE 主机目标现在配置为通过安全连接相互通信。

同步

当使用 NVIDIA Nsight Visual Studio Edition 执行远程调试时,目标应用程序在运行时需要的所有文件都必须复制到远程机器。状态栏会在调试器同步文件时显示,包括已复制的文件数以及要复制的文件总数

../_images/nsight-host-launch-synchronization.01.png

何时同步文件?

在远程调试或分析会话开始时,文件会同步。如果文件已在目标系统上,并且其时间戳与主机系统的项目文件匹配,则不会复制文件。

同步哪些文件?

Nsight Monitor 复制与“用户设置”窗口的“要同步的扩展名”字段中的模式匹配的文件。Nsight Monitor 在以下目录中查找文件

  • 项目属性页中指定的输出目录。

    (项目 > 属性 > 配置属性 > 常规 > 输出目录)。

  • 您在“用户设置”窗口的“要同步的目录”字段中指定的目录。

要在远程调试时指定要同步的文件和目录

  1. 从 Visual Studio 的“解决方案资源管理器”窗口中,选择Nsight 用户属性。(作为替代方法,您也可以转到项目菜单 > Nsight 用户属性。)

    ../_images/nsight_host_solutionexplorer.002.png
  2. NVIDIA Nsight™ VSE 用户设置窗口出现。单击“同步”节点。

    ../_images/nsight-host-launch-synchronization.01.png
  3. 选中“同步文件”复选框。

  4. 如果您希望同步子目录,请选中递归同步文件夹复选框。

  5. 如果您只想复制特定扩展名,请在包含扩展名中指定它们。

    用分号分隔多个扩展名。请勿使用逗号或空格。例如

    MyKillerApp.*;*.dll;*.pdb;*.exe
    

    您可以使用问号和星号作为通配符

    * - 替代多个字符

    ? - 替代单个字符

    请记住包含目标应用程序(通常为 *.exe)。

  6. 排除扩展名字段中,选择您要从同步过程中排除的文件扩展名(如果有)。

  7. 如果您的应用程序需要在远程机器上运行的其他目录,请在要同步的目录字段中指定它们。

    当您的应用程序使用来自项目目录中不存在的 SDK 的运行时库时,通常会出现这种情况。

    如果您在用户设置窗口的启动页面中定义了工作目录,请考虑将该目录添加到要同步的目录列表中。如果该工作目录中有运行时文件,则需要将其添加到列表中。

NVIDIA Nsight Visual Studio Edition 将同步的文件放在哪里?

当 Nsight Monitor 将文件同步到远程机器时,它会将文件保存到特定目录。此目录是两个部分的串联

[SynchronizationDirectory]+[OutputDirectory]

第一个部分(同步目录)的默认值位于 %AppData% 文件夹的以下子目录中

C:\Users\[current-user-on-target]\AppData\Roaming\NVIDIA Corporation\Nsight\Monitor\Mirror\[hostname]\[host-outdir]

第二个部分(输出目录)的默认值是项目“项目属性”中定义的输出目录,包括主机名和驱动器盘符。您可以在“Nsight – 用户设置”窗口中指定其他要同步的目录,如上所述。

例如,假设您的本地机器的主机名为 MyDesktop-01,并且您的本地机器上的项目的输出目录为

C:\MyKillerApp\Bin

我们还假设您已以 jsmith 身份登录到远程机器。

当 Nsight Monitor 同步文件以进行远程调试时,它会创建以下目录(上述两个路径串联的结果)

../_images/nsight-host-launch-synchronization.01.png

Nsight Monitor 将文件从本地机器复制到上述目录。在上面的示例中,它会将文件从本地机器上的 C:\MyKillerApp\Bin 目录复制到远程机器。除了这些文件之外,调试器还将复制您在“Nsight – 用户设置”窗口的“要同步的目录”字段中指定的任何目录中的文件。

同步目录

您可以覆盖默认的同步目录。例如,您可以将同步目录指定为以下目录,而不是 AppData 目录中的默认路径

C:\TargetAppRoot

如果您的本地机器的主机名为 MyDesktop-01,并且您的本地机器上的项目的输出目录为 C:\MyKillerApp\Bin,则 Nsight Monitor 会将文件复制到远程机器上的此目录

C:\TargetAppRoot\MyDesktop-01\c\MyKillerApp\Bin

要更改同步目录

  1. 右键单击任务栏中的 Nsight Monitor 图标。

    ../_images/nsight_monitor_taskbar_options.0011.png
  2. 选择“选项”。NVIDIA Nsight™ VSE 选项窗口打开。

  3. 在左侧窗格中,选择“常规”。

  4. 在右侧窗格中,在同步目录旁边,键入您要用作根同步目录的目录名称。

    例如,您可以指定 C:\MySyncRoot.

    ../_images/nsight_monitor_general_sync_dir.002.png
  5. 单击“确定”。

下次您使用此项目执行远程调试时,Nsight Monitor 将使用您指定的目录作为文件同步的根目录。如果远程机器上不存在此目录,则 Nsight Monitor 会创建该目录。

使用示例

您可以使用 NVIDIA Nsight Visual Studio Edition 工具的主要示例来源之一是

使用 Visual Studio 2019 或 2022

我们已移动!

您首先会注意到的是,Microsoft 现在限制了扩展程序(例如 NVIDIA Nsight Visual Studio Edition)在 Visual Studio 菜单布局中的放置位置。

Visual Studio 2017[1][2]

在以前的 Visual Studio 版本中,Nsight 是顶级菜单项。

../_images/vs2017-top-level-menu.png

[1] 对 Visual Studio 2017 的支持自 2024.2.0 起已弃用,并且已从 2025.1.0 中删除。

[2] 对 Visual Studio 2019 的支持自 2025.1.0 起已弃用,并将在未来的版本中删除。

Visual Studio 2019 和 2022

从 Visual Studio 2019 开始,Nsight 可以在扩展下与其他所有扩展程序一起找到。

../_images/vs2019-nsight-menu.png

创建新项目

另一个 Visual Studio 2019/2022 的区别是如何创建新项目。在以前的版本中,您可以选择 NVIDIA,然后指定所需的 CUDA 版本。

Visual Studio 2017

../_images/vs2017-cuda-project-types.png

在 Visual Studio 2019 或 2022 中,您可以通过在搜索过滤器中键入 CUDA 或从搜索过滤器旁边的语言下拉列表中选择 CUDA 来查找 CUDA 项目类型。

Visual Studio 2019 和 2022

../_images/vs2019-cuda-project-types.png