NVIDIA Nsight Aftermath 加速 GPU 崩溃调试

这篇文章最初发表在 NVIDIA 技术博客上。

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 中检查寄存器值中的错误线程。这有助于确定着色器执行失败的位置和原因。

图 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 寄存器收集。

图 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 工具进行图形开发 的信息。

阅读原文

相关推荐
扫地的小何尚9 天前
NVIDIA RTX 系统上使用 llama.cpp 加速 LLM
人工智能·aigc·llama·gpu·nvidia·cuda·英伟达
布鲁格若门9 天前
AMD CPU下pytorch 多GPU运行卡死和死锁解决
人工智能·pytorch·python·nvidia
centurysee11 天前
【一文搞懂】GPU硬件拓扑与传输速度
gpu·nvidia
算家云17 天前
moffee模型部署教程
人工智能·python·github·markdown·nvidia·ppt·幻灯片制作
坐望云起1 个月前
Ubuntu20.04 更新Nvidia驱动 + 安装CUDA12.1 + cudnn8.9.7
linux·ubuntu·nvidia·cuda·onnx·1024程序员节
RZer1 个月前
NVIDIA 发布适用于网络安全的 NIM Blueprint
安全·web安全·nvidia
LifeBackwards1 个月前
Ubuntu安装nvidia显卡驱动
ubuntu·显卡·nvidia
great-wind1 个月前
麒麟系统离线安装英伟达驱动
nvidia
utmhikari1 个月前
【DIY小记】新手小白超频i9-12900kf和3070ti经验分享
cpu·显卡·nvidia·超频·微星
学森杰登1 个月前
大模型生成PPT大纲优化方案:基于 nVidia NIM 平台的递归结构化生成
人工智能·python·自然语言处理·chatgpt·powerpoint·nvidia