Jump to content

NVIDIA Jetson Orin - Tuning Power

From RidgeRun Developer Wiki



Follow us on: YouTube Twitter LinkedIn Email Share this page

Share This Page

🚧 Documentation is under development

The NVIDIA Jetson Orin guide is currently under active development. Some sections may be incomplete or change without notice.

Questions? Contact RidgeRun or email to support@ridgerun.com.

Contents Pin






Power Modes

Use nvpmodel to select a power profile. Profiles limit CPU cores and engine frequencies. Available modes depend on the module and flash configuration.[1]

Inspect the Current Mode and Configuration

Query the current mode and its detailed settings:[2]

sudo /usr/sbin/nvpmodel -q
sudo /usr/sbin/nvpmodel -q --verbose

Inspect the installed definitions and configured default:

readlink -f /etc/nvpmodel.conf
grep -E '^[[:space:]]*<[[:space:]]*(POWER_MODEL|PM_CONFIG)' /etc/nvpmodel.conf

POWER_MODEL entries identify modes; PM_CONFIG DEFAULT identifies the configured default. Query the active mode separately: a previously selected mode can persist.

Example AGX Orin Profiles

The following values were checked in NVIDIA's supplied /etc/nvpmodel/nvpmodel_p3701_0000.conf on an AGX Orin Developer Kit running R39.2.1. They match the corresponding AGX Orin profile values in NVIDIA's guide.[1] Other modules/configurations differ; use their installed definitions.

Example profiles: nvpmodel_p3701_0000.conf
Mode ID Name Power budget CPU maximum (MHz) GPU maximum (MHz)
0 MAXN No specified budget Platform limit Platform limit
1 MODE_15W 15 W 1113.6 408
2 MODE_30W 30 W 1728 612
3 MODE_50W 50 W 1497.6 816

This configuration specifies mode 2 as its default. MAXN is experimental and does not guarantee the best performance: power limits can cause throttling.[1]

Select and Verify a Power Mode

Record the current mode ID before changing it. Replace 2 below with a mode defined in your configuration:

MODE_ID=2
sudo /usr/sbin/nvpmodel -m "$MODE_ID"
sudo /usr/sbin/nvpmodel -q --verbose
sudo /usr/bin/jetson_clocks --show

The selected mode persists across power cycles and SC7. GPU partition changes may require a reboot; follow the utility's prompt. Select the power mode before applying jetson_clocks; changing modes after that requires a reboot.[1]

Restore the Previous Mode

Enter the mode ID recorded before the change:

read -r -p "Original power mode ID: " ORIGINAL_MODE_ID
sudo /usr/sbin/nvpmodel -m "$ORIGINAL_MODE_ID"
sudo /usr/sbin/nvpmodel -q

This reselects the previous power profile; it does not restore unrelated manual clock or fan overrides. Follow any reboot prompt.

Measure the Workload

Use the same workload when comparing profiles. NVIDIA's validation procedure checks settings with nvpmodel -q --verbose and jetson_clocks --show.[2]

Monitor utilization, temperatures, and reported power rails:

sudo tegrastats --interval 1000

Press Ctrl+C to stop. To record samples instead:[3]

sudo tegrastats --interval 1000 --logfile power-profile.log

See Evaluating Performance for metric interpretation and Set Values Manually for individual clock controls.

Custom Power Profiles

NVIDIA documents custom definitions in /etc/nvpmodel.conf. Use a unique mode ID and supported limits. CPU frequencies use kHz; GPU and EMC frequencies use Hz. Restricting EMC below client bandwidth requirements can cause functional failures.[1]

References

  1. ↑ 1.0 1.1 1.2 1.3 1.4 NVIDIA Jetson Linux r39.2 Developer Guide: Orin Power and Performance, Supported Modes and Power Efficiency and Power Mode Controls.
  2. ↑ 2.0 2.1 NVIDIA Jetson Linux r39.2 Developer Guide: Test Plan and Validation, nvpmodel: Power Modes, Setting and Verifying Supported Power Modes.
  3. ↑ NVIDIA Jetson Linux r39.2 Developer Guide: Tegrastats Utility




Cookies help us deliver our services. By using our services, you agree to our use of cookies.