游戏引擎

NVIDIA Nsight Aftermath 加速 GPU 崩溃调试

 

NVIDIA Nsight 开发者工具 提供对 NVIDIA GPU 和图形 API 的全面访问,用于性能分析、优化和调试活动。当使用光线跟踪或路径跟踪等高级渲染技术时,Nsight 工具是您创造流畅体验的伙伴。

在 SIGGRAPH 2023 上,NVIDIA 举办了一个实验室,探索如何使用 NVIDIA Nsight Tools 来调试和分析光线追踪应用程序。新版本的 NVIDIA Nsight Aftermath SDKNVIDIA Nsight GraphicsNVIDIA Nsight Systems 也已提供。有关 Nsight Tools 在 SIGGRAPH 上发布的更多信息,请查看 NVIDIA Graphics Tools 的最新视频

这篇文章探讨了 Nsight Aftermath SDK 2023 . 2 如何通过改进事件标记器性能来加速 GPU 崩溃调试。

Nsight Aftermath SDK GPU 碰撞尸检分析

很少有问题像 GPU 崩溃那样紧迫,这可能会突然阻碍开发进度,直到问题得到解决。开发人员和最终用户都觉得这些崩溃令人沮丧,尤其是当他们在失败时无法从 GPU 管道中获取有用的调试信息时。为了揭示隐藏的异常,Nsight Aftermath SDK 在游戏失败时打开一个进入 GPU 的窗口。这有助于查明问题的根源,并指导开发人员解决问题。

Nsight Aftermath SDK 可生成 GPU 崩溃转储文件,这些文件可以加载到 NVIDIA Nsight Graphics 中,以可视化 GPU 状态,揭示 MMU 故障信息、扭曲细节、有问题的着色器源等。将 Aftermath 集成到现有的崩溃报告程序中,可以从最终用户的机器中提供更精细的管道转储,从而提供可操作的报告。今天的 Nsight Aftermath SDK 更新改进了通过低开销、特定于应用程序的标记提供的上下文数据。

在 Nsight Aftermath SDK 中,我们增强了用于 DirectX 12 应用程序的事件标记器性能。您可以按照所需的间隔将这些标记插入到 CPU 代码中,显著减少的开销使它们可用于运行应用程序。这些标记被写入 Aftermath 崩溃转储文件,指示在应用程序帧中 GPU 异常发生的位置。有了这些信息,您可以确定在 GPU 上执行的工作负载,并查看崩溃时使用的着色器。

Nsight Aftermath SDK 的 2023 . 2 版本还支持收集和显示着色器寄存器值,以帮助调试流式多处理器( SM )异常。在 SM 上,寄存器在指令执行时存储指令的结果。如果着色器工作负载触发了故障,则此数据与确定故障源特别相关。在写入 Nsight Aftermath 转储文件后,您可以在 Nsight Graphics 中检查寄存器值中的错误线程。这有助于确定着色器执行失败的位置和原因。

Screenshot of a SM register profiling in Nsight Aftermath SDK.
图 1 。 Nsight Aftermath SDK 公开与导致异常的着色器源代码行相对应的着色器寄存器值

SM 寄存器数据现在可用于 DirectX 12 和 Vulkan 应用程序。请注意,查看此数据需要 NVIDIA Nsight Graphics Pro。如需协调,请联系您的 NVIDIA 开发者技术或开发者关系联系人,或者发邮件请求访问。

Nsight Aftermath 现在也可以通过 DirectX Agility SDK 使用。

Nsight Aftermath SDK 和事件标记入门

开始使用 SDK 很容易。这里有一些提示可以帮助您使用 GPU 崩溃转储和事件标记。更多信息包含在阅读我下载的部分。

  1. 下载 Nsight Aftermath SDK 2023.2
  2. 通过调用启用 GPU 崩溃转储创建GFSDK_Aftermath_EnableGpuCrashDumps。请注意,不会对该调用之前生成的设备进行崩溃转储。请确保先启用它。
  3. 设置 Nsight Aftermath 选项以控制捕获的信息。
    例如,您可以在初始化设备的 Nsight Aftermath 时启用着色器调试信息和运行时着色器错误报告“标志”。

    提示:如果要使用事件标记,请确保在此步骤中启用了事件标记标志。您还可以使用 Nsight Aftermath Monitor 应用程序来启用 SM 寄存器收集。
Screen grab of the Nsight Aftermath Monitor.
图 2 :包含在 SDK 和 Nsight Graphics 中的 Nsight Aftermath Monitor 是收集崩溃信息的命令中心
  1. 当您的 GPU 转储被收集后,可以使用 Nsight Graphics 来实现丰富的数据可视化。 Nsight Graphics 将帮助您分析崩溃并确定如何解决。

提示: Aftermath API 提供了一个简单而轻量级的解决方案,用于在 GPU 时间线上插入事件标记。为了将 CPU 开销保持在最低限度,您可以设置 dataSize=0,这将指示 Aftermath 依赖应用程序来管理和解析标记数据本身。

下载 NVIDIA Nsight 开发工具

下载所有在 SIGGRAPH 上发布的新 Nsight 开发工具。

如果您想深入了解或有任何问题,可以访问 Developer Tools 论坛,或者了解更多关于 2023 年 SIGGRAPH 上使用 Nsight 工具进行图形开发 的信息。

 

Tags