Comparison of Benchmark Test Performance on NVIDIA AGX Xavier, Xavier NX and Nano

Comparison of Benchmark Test Performance on NVIDIA AGX Xavier, Xavier NX and Nano

Jetson AGX Xavier | Jetson Nano | Jetson Xavier NX

17 March 2021

In this tutorial, we tested our NVIDIA Jetson AGX Xavier, Xavier NX and Nano's benchmark performance with jetson_benchmarks repository.

To begin with, we will set up the test environment. Then, we will test each model one-by-one. Finally, we will fill all results in a table to compare easily.

 

NVIDIA Jetson AGX Xavier Info:

 

NVIDIA Jetson Xavier NX Info:

 

NVIDIA Jetson Nano Info:

 

Performance Test Setup

First of all, let's set our test environment from github:

Now let's download all model files:

For AGX Xavier:

For Xavier NX:

For Nano:

Jetson AGX Xavier Test Results

Let's test all models one by one:



 

 

 

 

 

 

 

  • sudo python3 benchmark.py --model_name tiny-yolov3 --csv_file_path ${PWD}/benchmark_csv/xavier-benchmarks.csv --model_dir ${PWD}/models --jetson_devkit xavier --gpu_freq 1377000000 --dla_freq 1395200000 --power_mode 0
  • sudo python3 benchmark.py --model_name resnet --csv_file_path ${PWD}/benchmark_csv/xavier-benchmarks.csv --model_dir ${PWD}/models --jetson_devkit xavier --gpu_freq 1377000000 --dla_freq 1395200000 --power_mode 0
  • sudo python3 benchmark.py --model_name ssd-mobilenet-v1 --csv_file_path ${PWD}/benchmark_csv/xavier-benchmarks.csv --model_dir ${PWD}/models --jetson_devkit xavier --gpu_freq 1377000000 --dla_freq 1395200000 --power_mode 0

Jetson Xavier NX Test Results

Let's test all models one by one:

  • sudo python3 benchmark.py --model_name inception_v4 --csv_file_path ${PWD}/benchmark_csv/nx-benchmarks.csv --model_dir ${PWD}/models/ --power_mode 2
  • sudo python3 benchmark.py --model_name vgg19 --csv_file_path ${PWD}/benchmark_csv/nx-benchmarks.csv --model_dir ${PWD}/models/ --power_mode 2
  • sudo python3 benchmark.py --model_name super_resolution --csv_file_path ${PWD}/benchmark_csv/nx-benchmarks.csv --model_dir ${PWD}/models/ --power_mode 2
  • sudo python3 benchmark.py --model_name unet --csv_file_path ${PWD}/benchmark_csv/nx-benchmarks.csv --model_dir ${PWD}/models/ --power_mode 2
  • sudo python3 benchmark.py --model_name pose_estimation --csv_file_path ${PWD}/benchmark_csv/nx-benchmarks.csv --model_dir ${PWD}/models/ --power_mode 2


  • sudo python3 benchmark.py --model_name tiny-yolov3 --csv_file_path ${PWD}/benchmark_csv/nx-benchmarks.csv --model_dir ${PWD}/models/ --power_mode 2
  • sudo python3 benchmark.py --model_name resnet --csv_file_path ${PWD}/benchmark_csv/nx-benchmarks.csv --model_dir ${PWD}/models/ --power_mode 2
  • sudo python3 benchmark.py --model_name ssd-mobilenet-v1 --csv_file_path ${PWD}/benchmark_csv/nx-benchmarks.csv --model_dir ${PWD}/models/ --power_mode 2

Jetson Nano Test Results

Let's test all models one by one (with fp16 model):

  • sudo python3 benchmark.py --model_name inception_v4 --csv_file_path ${PWD}/benchmark_csv/tx2-nano-benchmarks.csv --model_dir ${PWD}/models/ --jetson_devkit nano --gpu_freq 921600000 --power_mode 0 --precision fp16

  • sudo python3 benchmark.py --model_name vgg19 --csv_file_path ${PWD}/benchmark_csv/tx2-nano-benchmarks.csv --model_dir ${PWD}/models/ --jetson_devkit nano --gpu_freq 921600000 --power_mode 0 --precision fp16
  • sudo python3 benchmark.py --model_name super_resolution --csv_file_path ${PWD}/benchmark_csv/tx2-nano-benchmarks.csv --model_dir ${PWD}/models/ --jetson_devkit nano --gpu_freq 921600000 --power_mode 0 --precision fp16
  • sudo python3 benchmark.py --model_name unet --csv_file_path ${PWD}/benchmark_csv/tx2-nano-benchmarks.csv --model_dir ${PWD}/models/ --jetson_devkit nano --gpu_freq 921600000 --power_mode 0 --precision fp16
  • sudo python3 benchmark.py --model_name pose_estimation --csv_file_path ${PWD}/benchmark_csv/tx2-nano-benchmarks.csv --model_dir ${PWD}/models/ --jetson_devkit nano --gpu_freq 921600000 --power_mode 0 --precision fp16
  • sudo python3 benchmark.py --model_name tiny-yolov3 --csv_file_path ${PWD}/benchmark_csv/tx2-nano-benchmarks.csv --model_dir ${PWD}/models/ --jetson_devkit nano --gpu_freq 921600000 --power_mode 0 --precision fp16
  • sudo python3 benchmark.py --model_name tiny-yolov3 --csv_file_path ${PWD}/benchmark_csv/tx2-nano-benchmarks.csv --model_dir ${PWD}/models/ --jetson_devkit nano --gpu_freq 921600000 --power_mode 0 --precision fp16
  • sudo python3 benchmark.py --model_name ssd-mobilenet-v1 --csv_file_path ${PWD}/benchmark_csv/tx2-nano-benchmarks.csv --model_dir ${PWD}/models/ --jetson_devkit nano --gpu_freq 921600000 --power_mode 0 --precision fp16

Comparison of Results

Jetson AGX Xavier Jetson Xavier NX Jetson Nano
(with FP16 model)
Inception v4 FPS 528,02 282,77 10,46
Inception v4 Time (secs) 469 690 488
VGG N2 FPS 275,07 65,67 9,98
VGG N2 Time (secs) 294 393 1214
Super Resolution FPS 280,71 131,99 15,20
Super Resolution Time (secs) 246 259 390
Unet Segmentation FPS 240,16 129,96 16,75
Unet Segmentation Time (secs) 339 426 713
Pose Estimation FPS 437,57 217,99 14,54
Pose Estimation Time (secs) 257 330 492
YOLOv3 Tiny 416 FPS 1097,08 470,82 47,51
YOLOv3 Tiny 416 Time (secs) 352 396 434
ResNet50 224x224 FPS 1858,94 740,76 36,61
ResNet50 224x224 Time (secs) 339 367 359
SSD MobileNet v1 FPS 1599,33 804,41 42,32
SSD MobileNet v1 Time (secs) 373 414 587

 

 You can find the zip file here.

Thanks for reading.