developer.nvidia.com Open in urlscan Pro
152.199.20.126  Public Scan

Submitted URL: https://go.nvidianews.com/MTU2LU9GTi03NDIAAAGOoHPp3JLcvZ3C_FtMJw_9iBXogbNAUSwADeXSuTENowftjLkq-h6p5I65krFoARaHlm6Vuho=
Effective URL: https://developer.nvidia.com/blog/power-optimization-with-nvidia-jetson/?mkt_tok=MTU2LU9GTi03NDIAAAGOoHPp3PFv4NXgHnq7fJfuZk4H...
Submission: On October 06 via manual from BR — Scanned from DE

Form analysis 2 forms found in the DOM

GET https://developer.nvidia.com/blog/search-posts

<form class="gss form-search content-search" data-base-url="https://developer.nvidia.com/blog/" action="https://developer.nvidia.com/blog/search-posts" method="GET" id="nvidia-site-search-form" accept-charset="UTF-8" __bizdiag="299127572"
  __biza="WJ__">
  <div>
    <div class="input-group">
      <div id="top-site-search-form">
        <input placeholder="Search" class="form-control form-text selectized" type="text" id="edit-term" name="q" value="" size="15" maxlength="128" tabindex="-1" style="display: none;">
        <div class="selectize-control form-control form-text single plugin-restore_on_backspace">
          <div class="selectize-input items not-full has-options" style=""><input type="text" autocomplete="new-password" autofill="no" tabindex="" id="edit-term-selectized" placeholder="Search" style="width: 54.7031px;"></div>
          <div class="selectize-dropdown single form-control form-text plugin-restore_on_backspace" style="display: none; width: 0px; top: 0px; left: 0px;">
            <div class="selectize-dropdown-content" tabindex="-1"></div>
          </div>
        </div>
      </div>
      <span class="input-group-btn">
        <button type="submit" class="btn btn-default">
          <i class="fa fa-search" aria-hidden="true"></i>
        </button>
      </span>
    </div>
    <button class="btn element-invisible btn-primary form-submit" type="submit" id="edit-submit" name="op" value="Search">Search</button>
  </div>
  <input type="hidden" name="UjVhC-JosOq" value="1g0tKboG"><input type="hidden" name="VMCeTsEbmBHaFYSo" value="rR]tlmUBW[Ln"><input type="hidden" name="n-Jupsy" value="HMZ@iIj8Sx*A"><input type="hidden" name="LKWOADluZNBS" value="k3My0N2SPwoK">
</form>

GET https://developer.nvidia.com/blog/search-posts

<form class="gss form-search content-search" data-base-url="https://developer.nvidia.com/blog/" action="https://developer.nvidia.com/blog/search-posts" method="GET" id="nvidia-site-search-form" accept-charset="UTF-8" __bizdiag="299127572"
  __biza="WJ__">
  <div>
    <div class="input-group">
      <div id="top-site-search-form">
        <input placeholder="Search" class="form-control form-text" type="text" id="edit-term" name="q" value="" size="15" maxlength="128">
      </div>
      <span class="input-group-btn">
        <button type="submit" class="btn btn-default">
          <i class="fa fa-search" aria-hidden="true"></i>
        </button>
      </span>
    </div>
    <button class="btn element-invisible btn-primary form-submit" type="submit" id="edit-submit" name="op" value="Search">Search</button>
  </div>
  <input type="hidden" name="UjVhC-JosOq" value="1g0tKboG"><input type="hidden" name="VMCeTsEbmBHaFYSo" value="rR]tlmUBW[Ln"><input type="hidden" name="n-Jupsy" value="HMZ@iIj8Sx*A"><input type="hidden" name="LKWOADluZNBS" value="k3My0N2SPwoK">
</form>

Text Content

DEVELOPER
 * Home
 * Blog
 * Forums
 * Docs
 * Downloads
 * Training

 * 
   Search
 * Join
 * 

Related Resources
Robotics


POWER OPTIMIZATION WITH NVIDIA JETSON

Oct 05, 2023
By Neel Patel and Leela Subramaniam Karumbunathan
+3
Like
Discuss (0)


When working with embedded systems such as the Jetson modules, you must optimize
your application based on your power budget and compute resources. To avoid
performance or even thermal throttling issues, monitoring these resources
becomes really important.

Jetson modules are designed with a GPU, CPU, and various AI accelerators. They
also feature a high-efficiency power management integrated circuit (PMIC),
voltage regulators, and a power tree to optimize power efficiency. NVIDIA
provides several tools and resources that can help you take advantage of the
power architecture and optimize your resource usage:

 * Various power modes
 * Power, thermal, and electrical management features
 * A Jetson Power GUI for monitoring power and thermal status
 * Tegrastats for providing command-line statistics regarding the module
 * JTOP


JETSON POWER MODES

Each Jetson module supports multiple preconfigured power modes that are
optimized for certain power budgets: 10 Watts, 15 Watts, 30 Watts, and so on.
For each power budget, there are various configurations possible in terms of
resource utilization.

These power modes are set using nvpmodel, and you can choose to use one of the
preconfigured modes or create a custom power mode that is tuned to your
requirements. The nvpmodel configuration enables a certain number of online GPU
TPC, CPU, DLA, and PVA cores, along with certain frequencies, to keep the module
within a certain power budget.

MAXN mode is also available as an unconstrained power mode. It enables the
maximum number of cores and clock frequencies for the various processors and
engines that can then be tuned to create custom power modes that balance
performance and power consumption.


POWER, THERMAL, AND ELECTRICAL MANAGEMENT FEATURES

Jetson provides various power, thermal, and electrical management features:

 * Clock gating
 * Power gating
 * Dynamic voltage frequency scaling
 * Deep sleep (SC7) modes
 * Idle power modes

For more information, see Supported Modes and Power Efficiency in the Jetson
Linux Developer Guide.


JETSON POWER GUI

There are many tools that NVIDIA provides with JetPack that can assist you in
thermal and power management. One such tool is the Jetson Power GUI, which gets
installed as part of the JetPack image.

The Jetson Power GUI lets you monitor the power and thermal status of the Jetson
board. With the Main tab, you can track CPU and GPU usage, as well as the device
temperature. With real-time monitoring, you can quickly identify any performance
bottlenecks or excessive power consumption that may lead to performance
throttling.

With the Jetson Power GUI, you can adjust power modes, which optimize the
trade-off between performance and power consumption. You can choose from one of
the predefined power modes depending on the Jetson board that you are using.

Figure 1. Jetson Power launch page

The Power GUI tool also enables you to record pertinent power-related
information to a log file for a specific duration. This is useful for capturing
and analyzing behavior during specific tasks or specific time duration. For
example, you could capture information about the performance of Jetson within
the first 3 minutes of startup.

Figure 2. Example log file from Power GUI

The plot graph… button provides data visualization functionality, so you can
plot real-time, power-related information. The captured log file can also be
used to plot a graph to help you visualize with even more simplicity how your
system is performing.

Figure 3. Graph plot channel selection
Figure 4. Example graph plotted from Jetson Power GUI


TEGRASTATS

Tegrastats is a command line utility provided by NVIDIA that reports memory and
processor usage on the Jetson platform. This utility is provided with JetPack
and can be found at <top>/core/utils/tegrastats.

Tegrastats provides insights into several usage metrics, such as CPU, GPU, and
memory. It also gives you the ability to monitor power consumption and provides
real-time updates on power usage. These metrics are crucial in understanding how
the system is performing.

Tegrastats also offers information about thermal behavior, such as the operating
temperature for the CPU and GPU. This can help you prevent thermal throttling.


USAGE

To use the Tegrastats utility on Jetson, use the following commands.

In the foreground, run the following command:

$ tegrastats —interval <int>

In this command, <int> is the interval between log prints in milliseconds. By
default, Tegrastats updates the statistics every second.

In the background, run the following command:

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

In this command, <out_file> is the pathname of the output file to which
Tegrastats writes the log prints. 

The following is a sample print of 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 can also be integrated into scripts or applications to capture system
statistics, which enables more automation scenarios.


JTOP (JETSON-STATS)

JTOP is a user-friendly way to monitor and control the resources on the Jetson.
It can help you visualize and understand various bottlenecks in your
applications. For example, it shows whether an application is heavy on memory
operations or an application is not using the hardware-accelerated engines in
the Jetson module. In this way, JTOP leads to a more efficient and streamlined
application optimized for the Jetson module.

Figure 5. JTOP launch screen

JTOP is specifically designed for monitoring and managing NVIDIA Jetson modules:

 * NVIDIA Orin
 * NVIDIA Xavier
 * NVIDIA Nano
 * NVIDIA TX

It provides real-time updates about system performance. This enables you to
analyze the CPU and GPU usage, operating temperature, memory usage, and other
relevant information.

With JTOP, this information can be accessed in a GUI for better visualization of
the information. This way, it provides a convenient way to keep track of the
system’s metrics and performance figures, especially when running heavy AI
workloads.

JTOP also brings out the capability to tweak the system’s performance. You can
select the power mode in which they want their Jetson devices to be running, as
well as control over the fan speed. This helps in optimizing system performance
and thermals.

Figure 6. JTOP memory monitor

JTOP is especially useful for building a system on a power budget but still
squeezing out the maximum performance possible. To install it, use pip:

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

Use the jtop command:

$ jtop

The JTOP tool is also available as a Python library with APIs that enable you to
include JTOP functions in your scripts with ease.

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

For more information, see the following video from JetsonHacks.


Video 1. JTOP: The Tool Jetson Pros Use. Do You?


GET STARTED WITH OPTIMIZING YOUR POWER TODAY

The NVIDIA Jetson platform is continuously advancing the edge inference
performance for robotics and edge AI. It is an important factor in most edge AI
applications to follow a power budget. With the NVIDIA tools, you can monitor
system performance and model a custom power profile.

For more information, see the following resources:

 * Supported Modes and Power Efficiency
 * JTOP (jetson-stats) User Guide
 * Troubleshooting (Jetson_stats)
 * /rbonghi/ros_jetson_stats GitHub repo
 * /NVIDIA-AI-IOT/ros2_jetson_stats GitHub repo

With all the tools mentioned in this post, you can easily create a
power-efficient and performance-optimized system for your application.


RELATED RESOURCES

 * GTC session: Jetson Edge AI Developer Days: Bring your Products to Market
   Faster with the NVIDIA Jetson Ecosystem (Spring 2023)
 * GTC session: Jetson Edge AI Developer Days: Getting the Most Out of Your
   Jetson Orin Using NVIDIA Nsight Developer Tools (Spring 2023)
 * GTC session: Jetson Edge AI Developer Days: Design a Complex Architecture on
   NVIDIA Isaac ROS (Spring 2023)
 * Webinar: Getting started with new PowerEstimator tool for Jetson
 * Webinar: Guide to Minimizing Jetson Disk Usage
 * Webinar: NVIDIA JetPack 4.5 Overview and Feature Demo

Discuss (0)
+3
Like


TAGS

Robotics | Manufacturing | JetPack | Jetson | Intermediate Technical | Tutorial
| Development Tools & Libraries | featured


ABOUT THE AUTHORS

About Neel Patel
Neel Patel is a field applications engineer focusing on the NVIDIA Jetson
Embedded platform. He is an avid embedded systems enthusiast. Neel received a
master’s degree in computer engineering from San Jose State University.
View all posts by Neel Patel
About Leela Subramaniam Karumbunathan
Leela Karumbunathan is a hardware product manager at NVIDIA, focusing on Jetson
and autonomous machines. She has a history of working in the semiconductor
industry in both engineering and product-related roles. She received a
bachelor’s degree in electrical engineering from Johns Hopkins University.
View all posts by Leela Subramaniam Karumbunathan


COMMENTS


START THE DISCUSSION AT FORUMS.DEVELOPER.NVIDIA.COM




RELATED POSTS


BRINGING CLOUD-NATIVE AGILITY TO EDGE AI DEVICES WITH THE NVIDIA JETSON XAVIER
NX DEVELOPER KIT

Bringing Cloud-Native Agility to Edge AI Devices with the NVIDIA Jetson Xavier
NX Developer Kit


NVIDIA JETPACK 3.2 PRODUCTION RELEASE NOW AVAILABLE

NVIDIA JetPack 3.2 Production Release Now Available


NVIDIA JETSON TX2 DELIVERS TWICE THE INTELLIGENCE TO THE EDGE

NVIDIA Jetson TX2 Delivers Twice the Intelligence to the Edge


NVIDIA JETSON TX1 SUPERCOMPUTER-ON-MODULE DRIVES NEXT WAVE OF AUTONOMOUS
MACHINES

NVIDIA Jetson TX1 Supercomputer-on-Module Drives Next Wave of Autonomous
Machines


INCREASE PERFORMANCE WITH GPU BOOST AND K80 AUTOBOOST

Increase Performance with GPU Boost and K80 Autoboost


RELATED POSTS


ACCELERATED VECTOR SEARCH: APPROXIMATING WITH RAPIDS RAFT IVF-FLAT

Accelerated Vector Search: Approximating with RAPIDS RAFT IVF-Flat


NEW VIDEO SERIES: CUDA DEVELOPER TOOLS TUTORIALS

New Video Series: CUDA Developer Tools Tutorials


NVIDIA CUDA TOOLKIT SYMBOL SERVER

NVIDIA CUDA Toolkit Symbol Server


DEBUGGING CUDA MORE EFFICIENTLY WITH NVIDIA COMPUTE SANITIZER

Debugging CUDA More Efficiently with NVIDIA Compute Sanitizer


GPU-ACCELERATED SINGLE-CELL RNA ANALYSIS WITH RAPIDS-SINGLECELL

GPU-Accelerated Single-Cell RNA Analysis with RAPIDS-singlecell
 * 
 * 

Sign Up for NVIDIA Developer News
Subscribe
Follow NVIDIA Developer
Facebook Twitter LinkedIn Instagram YouTube

Copyright © 2023 NVIDIA Corporation
 * Legal Information
 * Terms of Use
 * Privacy Policy
 * Cookie Policy
 * Contact


Share
Tweet
Share
Share
Email
Share


Cookie Settings

NVIDIA websites use cookies to deliver and improve the visitor experience. Learn
more about the cookies we use on our Cookie Policy page.


More information
Allow All

Manage Consent Preferences

Required Cookies

Always Active
Required Cookies

These cookies are required for the site to function and cannot be turned off.

Performance Cookies

Performance Cookies

Counts website visits and clicks to understand where people most engage with
links to make the experience better.

Advertising Cookies

Advertising Cookies

Set by our advertising partners, these cookies are used to build a profile of
your interests and show you relevant ads on other sites. They do not store
personal information, but are based on uniquely identifying your browser and
internet device.

Save and Accept

Back Button

Back

Performance Cookies



Vendor Search Search Icon Filter Icon


Clear Filters

Information storage and access
Apply
Consent Leg.Interest

All Consent Allowed

Select All Vendors
Select All Vendors
Select All Hosts

Save and Accept


NVIDIA uses cookies to deliver and improve the website experience. See ourCookie
Policy to learn more.



Cookies Settings Accept All Cookies

 * 
   Search
 * Join
 * 

 * Home
 * Blog
 * Forums
 * Docs
 * Downloads
 * Training

Search