在使用 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 提供,可在
Tegrastats 能够提供有关 CPU、GPU 和内存等多个使用指标的洞察分析,完成功耗监控并实时更新功耗情况。这些指标对了解系统性能至关重要。
Tegrastats 还提供热行为相关信息,比如 CPU 和 GPU 的工作温度。这样有助于预防热节流。
使用方法
要在 Jetson 上使用 Tegrastats,请使用以下命令。
在前台运行如下命令:
tegrastats —interval
在该命令中,
在后台运行以下命令:
$ tegrastats —interval <int> -logfile <out_file> &
在该命令中,
下面是 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英伟达】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !