Robotics

Emulating an NVIDIA Jetson Orin NX Using the NVIDIA Jetson AGX Orin Developer Kit

NVIDIA Jetson Orin

Early in product development, organizations often seek to evaluate the minimal hardware requirements for a project. This usually requires purchasing a few developer kits with different systems on a chip to measure the prototype performance. This evaluation stage may be delayed, depending on the availability of developer kits, which in turn can delay the time to market.

Fortunately, development for any of the NVIDIA Jetson Orin family modules can be done using only the Jetson AGX Orin Developer Kit. This developer kit enables you to emulate natively any of the NVIDIA Jetson Orin modules, including Jetson Orin NX and Jetson Orin Nano. It emulates the hardware specifications of the chosen module, and therefore replicates its performance. For more details, see Develop for All Six NVIDIA Jetson Orin Modules with the Power of One Developer Kit and visit the Jetson Download Center.

The main advantage of the emulation feature is that you only need one kit to develop any product targeted to any Jetson Orin module. This speeds up the prototyping phase, but also cuts costs significantly. 

This post shows you how to emulate different Jetson modules with just one developer kit, and summarizes the performance obtained through emulation of Jetson Orin NX. Note that although Jetson Orin Nano can also be emulated, it is not addressed here because those modules do not include hardware units for video encoding. Therefore, performance measurements would not be under the same conditions as the Jetson Orin NX and Jetson AGX Orin.

Performance was measured using the Panoramic Stitching and WebRTC Streaming reference design. This demo makes use of a Jetson AGX Orin Developer Kit to create a 360-degree panoramic image in real time from three different fisheye cameras. The process uses the RidgeRun GstStitcher image stitching for NVIDIA Jetson. The result is then streamed to a remote browser using WebRTC with the RidgeRun WebRTCWrapper. Figure 1 shows an example of the result.

A screenshot showing a demo of NVIDIA Jetson AGX Orin from RidgeRun with Panoramic Stitching and WebRTC Streaming.
Figure 1. Demo of NVIDIA Jetson AGX Orin from RidgeRun showing Panoramic Stitching and WebRTC Streaming

The reference design uses the following hardware units available in NVIDIA Jetson AGX Orin:

  • CPU: RTSP cameras video capture, buffer handling, and WebRTC streaming
  • NVENC: H.264 hardware accelerated encoding
  • VIC: Conversion of fisheye projections into a partial equirectangular image; border cropping and image scaling for 1080p transmission
  • GPU: Stitching of partial equirectangular images into a single representation

How to enable emulation on the NVIDIA Jetson AGX Orin Developer Kit

To enable emulation, use the flashing capabilities of the NVIDIA Jetson AGX Orin Developer Kit. This approach enables you to select the target module and then flash the board with that configuration. 

Assuming you have a working installation of NVIDIA JetPack 5.0.2, the first step is to put the board in force recovery mode. Then use the flash.sh command line tool to select the appropriate flashing script for the target module. See Table 1 for the available flashing commands.

Target moduleFlashing command
Jetson AGX Orin 64 GBsudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1
Jetson AGX Orin 32 GBsudo ./flash.sh jetson-agx-orin-devkit-as-jao-32gb mmcblk0p
Jetson Orin NX 16 GBsudo ./flash.sh jetson-agx-orin-devkit-as-nx16gb mmcblk0p1
Jetson Orin NX 8 GBsudo ./flash.sh jetson-agx-orin-devkit-as-nx8gb mmcblk0p1
Jetson Orin Nano 8 GBsudo ./flash.sh jetson-agx-orin-devkit-as-nano8gb mmcblk0p1
Jetson Orin Nano 4 GBsudo ./flash.sh jetson-agx-orin-devkit-as-nano4gb mmcblk0p1
Table 1. Flashing commands available for each Jetson Orin module

Once the flashing process is complete, the developer kit will reboot automatically. After you complete the initial bootup process, you can install the remaining NVIDIA JetPack components using NVIDIA SDK Manager. Alternatively, you can run the following commands:

sudo apt update
sudo apt install nvidia-jetpack

To learn more, see NVIDIA Jetson Orin Flashing Commands for Emulation.

Performance results

The RidgeRun reference design was executed with a Jetson AGX Orin Developer Kit configured to emulate Jetson Orin NX 16 GB with the MAXN power setting. 

Figure 2 shows that the load on the developer kit Jetson AGX Orin CPU is slightly less compared to the load when emulating the NVIDIA Jetson Orin NX. This is expected because the developer kit runs on 12 cores, compared with the eight cores of Jetson Orin NX 16 GB.

Bar graph showing comparison of the CPU load while running Panoramic Stitching and WebRTC Streaming Demo using the Jetson AGX Orin Developer Kit for emulation.
Figure 2. CPU load comparison while running the Panoramic Stitching and WebRTC Streaming demo

Figure 3 shows that the GPU load on Jetson AGX Orin is nearly half that of the same workload on Jetson Orin NX 16 GB. The result is expected, considering that the developer kit Jetson AGX Orin module has 2,048 CUDA cores compared to the 1,024 CUDA cores on the NVIDIA Jetson Orin NX. Both options maintained a stable stream of 30 FPS for all videos used in the reference design. The results shown in Figures 2 and 3 represent the average value of 55 samples for each metric.

Bar graph showing comparison of the GPU load while running Panoramic Stitching and WebRTC Streaming Demo using the Jetson AGX Orin Developer Kit for emulation.
Figure 3. GPU load comparison while running the Panoramic Stitching and WebRTC Streaming demo

The performance of each of the eight CPUs of the NVIDIA Jetson Orin NX is shown in Figure 4. The load normally ranges between 10% and 35%, and the frequency ranges from 729 MHz to 2,000 MHz.

Chart demonstrating the CPU load and frequency results of the Panoramic Stitching and WebRTC Streaming Demo.
Figure 4. CPU load and frequency results of running the Panoramic Stitching and WebRTC Streaming demo

Figure 5 shows that the GPU load varies from 10% to 80% and the frequency remains at 611 MHz most of the time. 

Chart showing the GPU load and frequency results of running the Panoramic Stitching and WebRTC Streaming Demo.
Figure 5. GPU load and frequency results of running the Panoramic Stitching and WebRTC Streaming demo

Table 2 presents the performance measured on the Jetson AGX Orin Developer Kit while emulating the Jetson Orin NX. Compare this to Table 3, which shows the hardware performance of the Panoramic Stitching and WebRTC Streaming demo without emulation on the Jetson AGX Orin Developer Kit. 

Overall, the Jetson Orin NX obtains the same result as Jetson AGX Orin. The difference lies in the resource use, which is higher on the Jetson Orin NX. This is expected due to the differences in hardware. 

For example, the Jetson Orin NX runs on eight CPU cores and the Jetson AGX Orin runs on 12 CPU cores. The max frequency for the CPUs is also reduced on the Jetson Orin NX. In addition, the GPU on Jetson Orin NX runs on a 1,024-core NVIDIA Ampere architecture GPU with 32 Tensor Cores while the Jetson AGX Orin runs on 2,048-core NVIDIA Ampere architecture GPU with 64 Tensor Cores.

Table  showing hardware performance of the Panoramic Stitching and WebRTC Streaming demo while emulating the Jetson Orin NX.
Table 2. Hardware performance of the Panoramic Stitching and WebRTC Streaming demo while emulating the Jetson Orin NX
Table showing hardware performance of the Panoramic Stitching and WebRTC Streaming demo without emulation on the Jetson AGX Orin Developer Kit.
Table 3. Hardware performance of the Panoramic Stitching and WebRTC Streaming demo without emulation on the Jetson AGX Orin Developer Kit

Summary

The Panoramic Stitching and WebRTC Streaming reference design was tested with two different hardware specifications using only the NVIDIA Jetson AGX Orin Developer Kit and its emulation capabilities. Running the reference design demonstrates that although the NVIDIA Jetson Orin NX has more minimalistic hardware specifications, it runs the demo as well as more powerful hardware. 

Watch the Panoramic Stitching and WebRTC Streaming reference design running on both platforms. The video also includes a brief explanation of the reference design and how it works.

Video 1. Learn about the emulation performance of the NVIDIA Jetson Orin Developer Kit

For more information about the emulation features of NVIDIA Jetson AGX Orin, see Develop for All Six NVIDIA Jetson Orin Modules with the Power of One Developer Kit.

Discuss (0)

Tags