使用 NVIDIA Jetson 优化功率

描述

 

 

在使用 Jetson 模组等嵌入式系统时,必须根据功率分配和计算资源来优化应用。为避免性能以及热节流问题,进行监控就显得格外重要。

 

Jetson 模组自带 GPU、CPU 和各种 AI 加速器,还配有高效率的功率管理集成电路(PMIC)、稳压器和电源树来进行功率效率优化。NVIDIA 提供多种工具和资源,帮助您充分利用功率架构并优化资源使用:

 

  • 各种功率模式

  • 功率、散热和电气管理功能

  • 用于监控功率和散热状态的 Jetson Power GUI

  • 用于提供模组命令行统计数据的 Tegrastats

  • JTOP

 

Jetson 的功率模式

 

每个 Jetson 模组都支持多种预配置功率模式,也能够针对 10 瓦、15 瓦、30 瓦等特定功率进行预算优化。每种功率分配在资源利用上都有多种可用配置。

 

这些功率模式可通过 nvpmodel 进行设置,用户可以选择使用其中一种预配置模式,也可以创建符合自身需求的自定义功率模式。nvpmodel 配置支持特定频率下一定数量的在线 GPU TPC、CPU、DLA 和 PVA 核,从而将模组控制在具体的功率分配范围内。

 

MAXN 模式也是一种灵活的功率模式。它可以为各种处理器和引擎提供最大的核心数和时钟频率,然后对其进行调整,以创建可平衡性能和功耗的自定义功率模式。

 

功率、散热和电气管理功能

 

Jetson 提供各种功率、散热和电气管理功能:

 

  • 时钟门控

  • 功率门控

  • 动态电压频率调节

  • 深度睡眠(SC7)模式

  • 待机功率模式

 

了解更多信息,请查看 Jetson Linux 开发者指南:

https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNanoSeriesJetsonOrinNxSeriesAndJetsonAgxOrinSeries.html#supported-modes-and-power-efficiency

 

Jetson Power GUI

 

NVIDIA 为 JetPack 提供了多种工具,来帮助用户进行散热和功率管理,比如作为 JetPack 视觉组成部分进行安装的 Jetson Power GUI。

 

Jetson Power GUI 支持用户对 Jetson 主板的功率和散热状态进行监测。用户不仅可以通过主选项卡追踪 CPU 和 GPU 的使用情况以及设备温度,还可以通过实时监控功能,快速识别任何可能导致性能节流的性能瓶颈或过度功耗。

 

 

 

有了 Jetson Power GUI 的支持,用户就可以通过调整功率模式来平衡性能与功耗。基于所使用的 Jetson 主板,用户可对预定义的功率模式进行选择。

 

英伟达

 

图1:Jetson Power 的启动页面

 

Power GUI 工具能够将与功率有关的信息记录到特定时间段的日志文件中,有效帮助捕获和分析特定任务或特定时间段内的行为。例如,捕获 Jetson 启动后最初 3 分钟内的性能信息。

 

英伟达

 

图2:Power GUI 的日志文件示例

 

plot graph…按钮具备数据可视化功能,支持用户绘制实时功率相关信息的图表。捕获的日志文件也可用于绘制图表,进而帮助用户更加简单、直观地了解系统的运行情况。

 

英伟达

 

图3:图表绘制通道选择

 

英伟达

 

图4:Jetson Power GUI 中绘制图表的示例

 

Tegrastats

 

Tegrastats 是 NVIDIA 的一款命令行实用工具,用于报告 Jetson 平台的内存和处理器使用情况。该工具由 JetPack 提供,可在 /core/utils/tegrastats 中找到。

 

Tegrastats 能够提供有关 CPU、GPU 和内存等多个使用指标的洞察分析,完成功耗监控并实时更新功耗情况。这些指标对了解系统性能至关重要。

 

Tegrastats 还提供热行为相关信息,比如 CPU 和 GPU 的工作温度。这样有助于预防热节流。

 

   

使用方法

   

 

要在 Jetson 上使用 Tegrastats,请使用以下命令。

 

在前台运行如下命令:

$ tegrastats —interval 


在该命令中, 是日志输出的间隔时间,单位为毫秒。默认情况下,Tegrastats 每秒更新一次统计数据。

 

在后台运行以下命令:

$ tegrastats —interval <int> -logfile <out_file> &

 

在该命令中, 是输出文件的路径名,Tegrastats 会将日志输出写入该文件。

 

下面是 Tegrastats 的输出示例:

RAM 1545/31919MB (lfb 7400x4MB) SWAP 0/15959MB (cached 0MB) CPU
[0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190]
EMC_FREQ 1%@408 GR3D_FREQ 0%@318 VIC_FREQ 0%@115 APE 150 MTS fg 0% bg 0%
AO@38C GPU@39.5C Tdiode@43.25C PMIC@100C AUX@38.5C CPU@39.5C
thermal@38.8C Tboard@39C GPU 0/0 CPU 468/468 SOC 937/937 CV 0/0 VDDRQ
312/234 SYS5V 1458/1458

 

Tegrastats 还可集成到脚本或应用中,以获取系统统计数据,从而实现更多的自动化方案。

 

JTOP(Jetson-stats)

 

JTOP 是一种监控 Jetson 资源的用户友好型方式,能够帮助用户可视化地了解应用中遇见的各种瓶颈。例如,它可以显示应用是否需要大量存储操作,或者应用是否没有使用 Jetson 模组中的硬件加速引擎。JTOP 通过这种方式能为 Jetson 模组优化出更加高效、精简的应用。

 

英伟达

 

图5:JTOP 启动屏幕

 

JTOP 专为监控和管理如下 NVIDIA Jetson 模组而设计:

 

  • NVIDIA Orin

  • NVIDIA Xavier

  • NVIDIA Nano

  • NVIDIA TX

 

JTOP 能实时更新系统性能相关信息,助力用户分析 CPU 和 GPU 的使用情况、工作温度、内存使用情况以及其他相关信息。

 

通过 JTOP 用户可在 GUI 上访问这些信息,以便更好地可视化,这种方式提供了一种便捷的系统指标和性能数据跟踪方式,尤其是在运行繁重的 AI 工作时。

 

JTOP 还提供用于微调系统性能的功能。用户可以为 Jetson 设备选择运行时的功率模式,甚至可以控制风扇速度。优化系统性能和散热正因此而受益。

 

英伟达

 

图6:JTOP 的内存监视器

 

功耗预算有限的同时还能最大化系统性能,JTOP 尤其适用于这种情况。请使用 pip 进行 JTOP 安装:

$ sudo apt update 
$ sudo apt-get install python3-pip
$ sudo pip install -u jetson-stats

 

使用 jtop 命令:

$ jtop

 

JTOP 工具还适用于 Python 库,其中的 API 能够让用户轻松地在脚本中加入 JTOP 函数。

from jtop import jtop
 
with jtop() as jetson:
    while jetson.ok():
        #read jetson stats
        print(jetson.stats)

 

查看 JetsonHacks 提供的以下视频,了解更多信息:

 

 

JTOP:您会使用 Jetson 专家所使用的工具吗?

 

优化功率从今天开始

 

NVIDIA Jetson 平台正在不断提升机器人和边缘 AI 的边缘推理性能。对于大多数边缘 AI 应用,功耗分配十分重要。使用 NVIDIA 工具就能够监控系统性能,建立自定义功耗特性模型。

 

了解更多信息,请查看以下资源:

 

  • 支持的模式和功率效率

    https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/SD/PlatformPowerAndPerformance/JetsonOrinNanoSeriesJetsonOrinNxSeriesAndJetsonAgxOrinSeries.html%22%20/l%20%22supported-modes-and-power-efficiency

     

  • JTOP(jetson-stats) 用户指南

    https://rnext.it/jetson_stats/

     

  • 故障排除(Jetson_stats)

    https://rnext.it/jetson_stats/troubleshooting.html

     

  • /rbonghi/ros_jetson_stats GitHub 代码库

    https://github.com/rbonghi/ros_jetson_stats

     

  • /NVIDIA-AI-IOT/ros2_jetson_stats GitHub 代码库

    https://github.com/NVIDIA-AI-IOT/ros2_jetson_stats

 

通过使用本文中提到的所有工具,就可以为自己的应用轻松创建一个节能且具有更优性能的系统。

 

       GTC 2024 将于 2024 年 3 月 18 至 21 日在美国加州圣何塞会议中心举行,线上大会也将同期开放。点击 “阅读原文” 扫描下方海报二维码,关注更多会议及活动信息。

 

英伟达


原文标题:使用 NVIDIA Jetson 优化功率

文章出处:【微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分