Jetson Orin NX not drawing enough power in 40W mode

Hi, I am working on doing stress tests on an Orin NX + Orin Nano carrier board. This uses Jetpack 6 L4T 36.5.0.
For these tests I need to enable the ‘super mode’ power model to access the 40W configuration.

The board seems to be flashing correctly with the super mode support and I see that the board powers with
the nvpmodel set to the 40W setting:

~$ nvpmodel -q
NVPM VERB: parsing done for /etc/nvpmodel.conf
NVPM VERB: Current mode: NV Power Mode: 40W
4

I am powering the board with a variable power supply to monitor the power use. The problem is that with
the super mode configuration, I am unable to draw more than 17W of power.

This is not the case when I flash the board with NO super mode support. I tested the same script and
was able to draw up to 20W of power in the 20W mode:

~$ nvpmodel -q
NVPM VERB: parsing done for /etc/nvpmodel.conf
NVPM VERB: Current mode: NV Power Mode: 20W
3

This leads me to believe that the 40W is not being set correctly.

For further context, the image is generated in yocto with p3768-0000-3767-0001 configuration for flashing.
I have confirmed that it is correctly using the super mode files. I have attached the script I am using for testing.
This script runs the jetson_clocks command to allow for better stress testing.

Is there a known issue that could limit the power draw from the board in 40W mode?
stress-test.txt (3.0 KB)

You could check if you hit OC event frequently so that the power got throttled in the background.

I am not seeing any OC throttle messages in the kernel log so far. I don’t think it is thermal throttling either since the temperature has been maintained with the current power draw.

We are not talking about thermal throttling but the OC throttling.

Check these nodes first.

/sys/class/hwmon/hwmon*/oc*_event_cnt

OC throttle is a mechanism to protect board when over the power limit. It is different item from the thermal throttling.

If above OC events are all 0s, it just means your application is not enough to use more power.

The values are all at 0:

# cat /sys/class/hwmon/hwmon*/oc*_event_cnt
0
0
0

I would think the application is not drawing power but when I changed to the 20W mode, the full 20W are being used with the same script. This did not seem like a case of the application not drawing enough power.

Could there be any other reason for the power draw to lower in the 40W mode?

Try the sample here and see what would be the result after you use this in 40W mode.

Hi,
I have been doing some additional tests on the official Jetpack 6.2.1 on the devkit. Using the same script I had sent, the power consumption did increase up to ~29W. This makes me believe that I was missing some configuration for the board to correctly enable the super mode.

I have looked at the jetson-orin-nano-devkit-super.conf file to compare against the configuration for the Yocto image I am using. These settings are already being used in the yocto image:

BPFDTB_FILE="tegra234-bpmp-3767-0001-3768-super.dtb";
DTB_FILE="tegra234-p3768-0000+p3767-0001-nv-super.dtb";

I have tested this Yolo sample you suggested. Running this engine didn’t cause any signifcant stress on the Orin. On its own this raised the power consumption ~2W reaching up to 10W total power consumption.

I have the following questions:

  1. Was the yolo sample supposed to stress the GPU more than this?
  2. What are the settings that need to be set for super mode support? Am I missing any that would cause the difference in power draw from the Yocto image?

1.Sorry that my point was that you should refer to this page. It is from the “more stressful” link in previous page I sent.

  1. What is the maximum GPU frequency that is running on your board? for a Orin NX 8GB super mode, the 40W or MAXN_SUPER mode shall give 1173 Mhz for GPU.
    However, if you are using non super mode, then it will only be up to 765Mhz. Please run # tegrastats to confirm this.

  2. What are you trying there with the Yocto image? Are you trying to manually enable super mode by yourself?

I was able to run this on the sdkmanager flashed Jetpack 6.2.1 and I am seeing that it reaches higher stress levels from the board. But I noticed that if the --sizemult option is set to any value higher than 4, the board reboots.

  1. With the yocto image and the sdkmanager I am seeing that the frequency is set to the 1173MHz:
$ cat /sys/devices/platform/17000000.gpu/devfreq/17000000.gpu/{available_frequencies,max_freq,cur_freq}
306000000 408000000 510000000 612000000 714000000 816000000 918000000 1020000000 1122000000 1173000000
1173000000
1173000000
  1. I am trying to figure out if the yocto image is missing something since the power draw is different than the sdkmanager flashed Jetpack. This eventually will be ported to a custom carrier board. But the enabling of the super mode is not working as expected.

What are the tegrastats result when you run it on Yocto image and Sdkmanager?