Jetson AGX Orin 平台使用nsight systems详解

在 NVIDIA Jetson AGX Orin 平台上,Nsight Systems 是一个强大的分析和性能调试工具,帮助开发者识别性能瓶颈、优化应用程序,特别是 GPU 加速应用和 AI 推理任务。它能够对系统中不同硬件资源(如 CPU、GPU、内存等)进行全面的性能分析,支持 CUDA 和多线程应用的性能剖析。

以下是如何在 Jetson AGX Orin 平台上安装和使用 Nsight Systems 的详细步骤:

  1. 安装 Nsight Systems
    Nsight Systems 通常与 JetPack 一起安装,但你也可以手动安装或更新它。确保系统安装了最新的 JetPack 版本,这样 Nsight Systems 也会被安装。

1.1 检查 Nsight Systems 是否已安装
你可以使用以下命令来检查是否已经安装了 Nsight Systems:

nsys --version

如果返回版本号,则说明已经安装了 Nsight Systems。如果没有安装,可以使用下面的步骤进行安装。

1.2 手动安装 Nsight Systems
如果 Nsight Systems 没有安装,可以通过 APT 包管理器安装:

sudo apt update
sudo apt install nvidia-nsight-systems

  1. 运行 Nsight Systems
    一旦安装好 Nsight Systems,就可以开始使用它来分析应用的性能。

2.1 使用命令行运行 Nsight Systems
Nsight Systems 提供命令行界面(CLI),你可以通过命令 nsys 进行性能分析。以下是基本的使用步骤:

在命令行中执行程序,并通过 nsys 进行性能捕获。例如,捕获一个 CUDA 应用的性能:

nsys profile --trace=cuda,nvtx,osrt --output=profile_report ./my_cuda_application

这个命令将 my_cuda_application 的运行情况进行分析,并生成一个包含 CUDA、NVTX(NVIDIA 工具扩展)和操作系统线程调度信息的性能报告,输出文件命名为 profile_report.qdrep。

选项说明:

–trace=cuda,nvtx,osrt:指定要跟踪的事件,cuda 用于捕获 GPU 相关的事件,nvtx 是用于标记应用程序中的重要事件,osrt 是操作系统线程调度信息。
–output=profile_report:指定输出文件名,生成的报告文件将以 .qdrep 结尾,可以用 Nsight Systems GUI 查看。
2.2 分析其他工作负载
Nsight Systems 支持 CUDA、OpenGL、Vulkan、TensorRT 等多种工作负载。以下是一个捕获 TensorRT 推理任务性能的示例:

nsys profile --trace=cuda,osrt,tensorrt --output=tensorrt_report ./my_tensorrt_application

这个命令会捕获与 TensorRT 和 CUDA 相关的所有性能数据。

  1. 使用 Nsight Systems GUI
    除了命令行,Nsight Systems 还提供图形化用户界面 (GUI),你可以在 PC 或远程机器上使用 GUI 来分析性能报告。

3.1 从 Jetson 设备导出报告
使用 Nsight Systems 生成 .qdrep 文件后,可以将报告文件从 Jetson AGX Orin 设备传输到你的本地机器。你可以使用 scp 或 rsync 等工具来传输文件:

scp profile_report.qdrep username@your_pc_ip:/path/to/destination

3.2 在本地机器上查看报告
在本地安装 Nsight Systems GUI(可以通过 NVIDIA 官网下载 Nsight Systems 工具)。
启动 Nsight Systems GUI,然后打开生成的 .qdrep 文件进行分析。GUI 提供了可视化的时间轴、CPU/GPU 占用率、内存使用情况等信息,有助于定位性能瓶颈。
4. 性能分析的常用场景
4.1 CUDA 应用性能分析
通过 Nsight Systems 可以捕获和分析 CUDA 应用中的数据传输、内核启动和 GPU 占用率。这个过程可以帮助你优化 CUDA 应用程序的性能,找到瓶颈(如内存传输延迟或 GPU 低利用率)。

4.2 AI 推理任务的分析
对于运行 TensorRT 或其他深度学习推理任务的应用,Nsight Systems 可以捕获 GPU 和 DLA 的任务调度,分析推理过程中 GPU 或 CPU 的性能瓶颈,优化模型的推理速度。

4.3 多线程应用分析
Nsight Systems 也支持多线程应用程序的性能分析,通过捕获线程的调度和同步情况,帮助你优化 CPU 任务的并行度和调度延迟。

  1. Nsight Systems 的进阶选项
    增加捕获时间:可以通过设置 --duration 选项来调整捕获的时间长度,例如:
nsys profile --trace=cuda --duration=60 --output=long_profile ./my_application

该命令将捕获 60 秒的应用程序性能。

过滤事件:你可以通过命令行过滤出特定的事件进行跟踪。假如你只对 GPU 任务的启动感兴趣,可以只捕获与 GPU 相关的事件:

nsys profile --trace=cuda ./my_application

系统资源监控:Nsight Systems 还能监控操作系统级别的性能数据(如线程调度、内存使用等),帮助全面了解应用程序对系统资源的影响。

  1. 总结
    在 Jetson AGX Orin 上,Nsight Systems 是一个功能强大的性能分析工具,帮助开发者在 CUDA、TensorRT 等 GPU 加速应用中进行性能优化。通过命令行工具 nsys,你可以轻松地捕获应用程序的性能数据,并通过 GUI 进行可视化分析。这些数据为优化 AI 推理任务、计算密集型应用以及多线程应用提供了重要支持。

通过以上步骤,你可以在 Jetson AGX Orin 平台上高效使用 Nsight Systems,帮助开发和优化你的 AI 应用。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值