目录
- 1. 工具简介
- 2. 环境简介
- 3. Jetson 端采集 Trace(以本地VSCode为例)
- 4. 把.nsys-rep 从 Jetson 拉到 Windows 本地
- 4.1 方法一:直接在VScode上操作
- 4.2 方法二:利用windows的power shell
- 5. Nsight Systems的基本使用
- 5.1 远程设备连接
- 5.2 打开本地文件
- 5.3 界面介绍与基本操作
- 5.3.1 报告界面切换
- 5.3.2 Timeline缩放与平移
- 6. 总结与展望
1. 工具简介
Nsight Systems 是 NVIDIA 官方推出的系统级性能剖析工具,主打 GPU、CPU、内存拷贝、CUDA 调用流的全局时序分析,是 CUDA 开发、GPU 程序性能调优的基础工具。
与侧重 Kernel 微观指标的 Nsight Compute 不同,Nsight Systems 更适合用于:定位程序整体瓶颈、观察数据传输耗时、判断计算与拷贝是否并行、分析 CUDA Stream 调度情况等宏观问题。
本文以 Jetson Orin 为演示设备,从零讲解 Nsight Systems 的基本使用方法。
2. 环境简介
📐硬件:Jetson Orin(远程 SSH 开发)
📐工程:CUDA 矩阵乘 matmul,可执行文件 trt-cuda
📐流程:远程 Jetson 采集 trace → scp 把报告拷到 Windows 本地 → Windows Nsight Systems 2026.4.1 打开分析
踩坑核心:Windows 本地 Nsight 版本(2026.4.1) > Jetson 内置 nsys 版本(2024.5.4)
👉远程 GUI 直连 Target 实时采集会直接报通信错误!私有实时流协议跨大版本不兼容。
✅ 解决方案(本文主推、最稳方案):板端离线采集 nsys-rep 文件,拷贝到本地离线查看,离线报告向前兼容不受版本限制。
3. Jetson 端采集 Trace(以本地VSCode为例)
先进入到我们远程的软件工程中。然后输入:
nsys profile-otrt_cuda_trace ./trt-cuda其中trt_cuda_trace是生成trace文件的名称,./trt-cuda是本地编译生成的ELF文件。
4. 把.nsys-rep 从 Jetson 拉到 Windows 本地
这个方法就比较多了,有很多可以用的工具和方法,直接在VScode上操作也行。
4.1 方法一:直接在VScode上操作
直接选中生成的文件,然后鼠标右击,再点击下载,即可选中本地路径进行拉取。
4.2 方法二:利用windows的power shell
直接在windows的power shell中输入:
scpjetson@192.168.0.109:/home/jetson/chapter2-cuda-programming/2.6-nsight-system-and-compute/trt_cuda_trace.nsys-rep.
然后就可以在相应位置找到复制到本地的文件了:
5. Nsight Systems的基本使用
5.1 远程设备连接
虽然我们这次实践中,并没有涉及到远程的SSH连接,但Nsight Systems本身的远程连接还是很有用的。
进入软件会自带一个Project 1,直接点击右侧小扳手,然后点击按钮,创建一个新连接。
输入远程设备的地址,以及用户名,然后根据提示输入密码,连接即可。
该软件有个自带的bug,就是新建的Project无法删除,但并不影响使用,比如我自己再左侧创建的Project 2。
5.2 打开本地文件
与很多软件一样,Nsight Systems打开本地文件非常简单。直接点击file→open,然后选择刚刚拉取到本地的文件即可。
5.3 界面介绍与基本操作
5.3.1 报告界面切换
点击左上角的按钮,可切换不同的报告页面,比如当前是Timeline页面,也是最常见的页面。
右侧区域显示的就是在软件执行过程中,各个资源的占用情况(CPU和GPU等)。
Analysis Summary页面也是非常常用的,是以文本的形式,对整个软件的运行情况做了一个非常详细的分析。
5.3.2 Timeline缩放与平移
鼠标左键滑动选择需要放大的区域,并双击,便可放大锁定区域,便于查看细节。
鼠标右击,选择Reset Zoom即可复原到最开始的大小。
或者像很多其他软件一样,Cotr+🖱️鼠标滚轮,也可以实现整体的横向缩放。
🌈 平移操作:
方法1:直接通过键盘上的⬅️和➡️进行控制。
方法2:鼠标拖动底部的水平滚动条进行操作。
6. 总结与展望
本文完整记录了 Nsight Systems 的零基础上手流程,包括 Jetson 设备端离线采集、文件拉取、GUI 视图操作。整体来说,Nsight Systems和地平线OE工具链编译生成的html文件很像。只不过地平线的OE工具链并不依赖端侧的硬件。
更多关于地平线OE工具链的使用方法请移步:
从零上手地平线 OE 工具链:ResNet50 的 PTQ 量化与精度验证
从零上手地平线 OE 工具链:YOLOv3 的 PTQ 量化与精度验证
后面有机会的话会更新 Nsight Systems远程直连调优的相关内容,敬请关注!!! 💨 💦 🎶 🎵 🔥