Nsight System模型性能分析工具入坑记录

Nsight System模型性能分析工具入坑记录

起因


在windows环境下使用torch的profiler+TensorBoard试图进行模型的性能分析,发现在TB上只有CPU的信息,缺少GPU的信息,试图去社区寻找解决方案,发现早在22年该问题就被提出来了,但是帖子里只有提问而无人解答。所以至此也一直无法解决(本人能力有限,等一个大佬救救孩子)。。。。原帖url:Pytorch官方社区的原帖

于是乎,改变思路转而换成Nsight System进行。但是关于ns用于性能分析的教程较少,我也是啃了一上午官方文档才勉强实现需求。

关于Nsight System

Nsight Systems是一款由NVIDIA开发的性能分析工具,旨在帮助开发人员优化并深入了解其CUDA应用程序的性能特征。以下是关于Nsight Systems的简要介绍:

  1. 用途

    • Nsight Systems用于分析和优化CUDA应用程序的性能,帮助开发人员找到性能瓶颈并实现优化。
  2. 功能特点

    • 提供可视化的性能分析工具,用于捕获和分析CUDA应用程序的执行情况。
    • 支持查看CUDA核心活动、内核执行时间、内存操作、调用堆栈等详细信息。
    • 提供时间线视图、统计信息和图表,帮助用户深入了解应用程序的性能表现。
  3. 适用范围

    • 适用于CUDA应用程序的性能分析和优化。
    • 可用于不同领域的GPU加速应用程序的性能调优,包括深度学习、科学计算、图形渲染等。
  4. 工作流程

    • 用户可以使用Nsight Systems执行性能分析命令,生成性能分析文件。
    • 分析文件可以进一步在Nsight Systems图形化界面中打开,并进行性能分析和优化。
  5. 优势

    • 提供全面的性能分析工具,帮助用户发现应用程序的性能瓶颈。
    • 可视化展示分析结果,方便用户理解和解决性能问题。
    • 支持详细的时间线视图和统计信息,帮助用户精确定位性能瓶颈。

总的来说,Nsight Systems是一款强大的性能分析工具,专为CUDA应用程序开发者设计,帮助他们深入了解和优化应用程序的性能,提高应用程序的效率和性能表现。

下载并安装NS

  • 官网下载地址
  • 不想出去并登录nvidia的话也可以直接下载这个链接:windows_x86_2024.2.1.106-3403790.msi
  • 正常选择安装位置,一路next就好

正片:性能分析流程

  • 我们需要用到两个程序:
    • nsys.exe(位于:安装路径/NVIDIA Corporation\Nsight Systems 2024.2.1\target-windows-x64)
    • nsys-ui.exe(位于:安装路径/NVIDIA Corporation\Nsight Systems 2024.2.1\host-windows-x64)
    • 将nsys.exe加入到环境变量,方便命令行直接调用
  1. 第一步需要我们编写一个py脚本引入我们需要的模型并执行几轮推理,用于给nsys调用收集设备信息。(这是我的,我需要分析MobileNetV2模型)
import torch
import torchvision.transforms as transforms
from torchvision import datasets
from torch.utils.data 

你可能感兴趣的:(ai,python,pytorch,神经网络,能效分析,性能优化)