在使用嵌入式系統時,Jetson modules 是非常重要的。此外,您必須根據功耗預算和計算資源來優化應用程序。為了避免性能甚至是熱調節問題,監控這些資源變得非常重要。
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 開發者指南 中的 Supported Modes and Power Efficiency。
Jetson Power GUI
NVIDIA 通過 JetPack 提供了許多工具,可以幫助您管理散熱和電源。其中一個工具是 Jetson Power GUI,它作為 JetPack 鏡像的一部分安裝。
通過使用 Jetson Power GUI,您可以監控 Jetson 主板的功率和散熱狀態。在主選項卡中,您可以跟蹤 CPU 和 GPU 的使用情況以及設備溫度。通過實時監控,您可以快速識別可能導致性能受限的任何性能瓶頸或功耗過高。
借助 Jetson Power GUI,您可以調整功率模式,從而優化性能和功耗之間的權衡。您可以根據所使用的 Jetson 主板選擇預定義的功率模式之一。
借助 Power GUI 工具,您還可以在特定持續時間內將與電源相關的信息記錄到日志文件中。這對于捕獲和分析特定任務或特定持續時間期間的行為非常有用。例如,您可以在啟動后的前 3 分鐘內捕獲有關 Jetson 性能的信息。
我們的 圖形 … … 按鈕提供了數據可視化功能,因此您可以繪制與電源相關的實時信息。捕獲的日志文件還可用于繪制圖形,幫助您更簡單地可視化系統的執行情況。
特格拉斯塔
Tegrastats 是 NVIDIA 提供的命令行實用程序,可報告 Jetson 平臺上的內存和處理器使用情況。此實用程序隨 JetPack 一起提供,可以在<top>/core/utils/tegrastats.
Tegrastats 可幫助您深入了解 CPU、GPU 和內存等多個使用指標。此外,您還可以監控功耗并實時更新功耗。這些指標對于了解系統性能至關重要。
Tegrastats 還提供有關熱行為的信息,例如 CPU 和 GPU 的工作溫度。這可以幫助您防止熱調節。
用途
要在 Jetson 上使用 Tegrastats 實用程序,請使用以下命令。
在前臺運行以下命令:
$ tegrastats —interval < int > |
在此命令中,<int>是日志打印之間的間隔(以毫秒為單位)。默認情況下,Tegrastats 每秒更新一次統計數據。
在后臺運行以下命令:
$ tegrastats —interval < int > -logfile <out_file> & |
在此命令中,<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 統計)
JTOP 是一種用戶友好型方式,用于監控和控制 Jetson 上的資源。它可以幫助您可視化和理解應用程序中的各種瓶頸。例如,它顯示應用程序是否占用大量內存操作,或者應用程序未使用 Jetson 模塊中的硬件加速引擎。通過這種方式,JTOP 可實現針對 Jetson 模塊優化的更高效、更精簡的應用程序。
JTOP 專為監控和管理 NVIDIA Jetson 模組而設計:
- NVIDIA Orin
- NVIDIA Xavier
- NVIDIA Nano
- NVIDIA TX
它提供有關系統性能的實時更新,使您能夠分析 CPU 和 GPU 的使用情況、工作溫度、內存使用情況和其他相關信息。
借助 JTOP,可以在 GUI 中訪問這些信息,以更好地可視化信息。這樣,它就提供了一種跟蹤系統指標和性能數據的便捷方法,尤其是在運行繁重的 AI 工作負載時。
JTOP 還提供了調整系統性能的功能。您可以選擇希望 Jetson 設備在其中運行的電源模式,以及控制風扇轉速。這有助于優化系統性能和散熱。
JTOP 對于在功率預算的情況下構建系統特別有用,但仍然會占用盡可能高的性能。要安裝它,請使用點:
$ sudo apt update $ sudo apt-get install python3-pip $ sudo pip install -u jetson-stats |
使用桌面命令:
$ jtop |
JTOP 工具還可用作具有 API 的 Python 庫,使您能夠在腳本中輕松包含 JTOP 函數。
from jtop import jtop with jtop() as jetson: while jetson.ok(): #read jetson stats print (jetson.stats) |
有關更多信息,請觀看以下 JetsonHacks 視頻。
立即開始優化您的功率
我們的 NVIDIA Jetson 平臺 不斷提高機器人和邊緣 AI 的邊緣推理性能。在大多數邊緣 AI 應用程序中,遵循功率預算是一個重要因素。借助 NVIDIA 工具,您可以監控系統性能并對自定義功率配置文件進行建模。
有關更多信息,請參閱以下資源:
- Supported Modes and Power Efficiency
- JTOP (jetson-stats) 用戶指南
- Troubleshooting(Jetson_stats)
- /rbonghi/ros_jetson_stats GitHub 庫
- NVIDIA-AI-IOT/ros2_jetson_stats GitHub 庫
借助本文中提到的所有工具,您可以輕松為應用創建節能高效且性能優化的系統。
?