Skip to main content
GR00T supports multiple optimization techniques to improve inference speed, from PyTorch eager mode to torch.compile and TensorRT acceleration.

Performance overview

GR00T-N1.6-3B inference timing with 4 denoising steps: | Device | Mode | Data Processing | Backbone | Action Head | E2E | Frequency | |--------|------|-----------------|----------|-------------|-----|-----------|| | RTX 5090 | PyTorch Eager | 2 ms | 18 ms | 38 ms | 58 ms | 17.3 Hz | | RTX 5090 | torch.compile | 2 ms | 18 ms | 16 ms | 37 ms | 27.3 Hz | | RTX 5090 | TensorRT | 2 ms | 18 ms | 11 ms | 31 ms | 32.1 Hz | | H100 | PyTorch Eager | 4 ms | 23 ms | 49 ms | 77 ms | 13.0 Hz | | H100 | torch.compile | 4 ms | 23 ms | 11 ms | 38 ms | 26.3 Hz | | H100 | TensorRT | 4 ms | 22 ms | 10 ms | 36 ms | 27.9 Hz | | RTX 4090 | PyTorch Eager | 2 ms | 25 ms | 55 ms | 82 ms | 12.2 Hz | | RTX 4090 | torch.compile | 2 ms | 25 ms | 17 ms | 44 ms | 22.8 Hz | | RTX 4090 | TensorRT | 2 ms | 24 ms | 16 ms | 43 ms | 23.3 Hz | | Thor | PyTorch Eager | 5 ms | 38 ms | 74 ms | 117 ms | 8.6 Hz | | Thor | torch.compile | 5 ms | 39 ms | 61 ms | 105 ms | 9.5 Hz | | Thor | TensorRT | 5 ms | 38 ms | 49 ms | 92 ms | 10.9 Hz | | Orin | PyTorch Eager | 6 ms | 93 ms | 202 ms | 300 ms | 3.3 Hz | | Orin | torch.compile | 6 ms | 93 ms | 101 ms | 199 ms | 5.0 Hz | | Orin | TensorRT | 6 ms | 95 ms | 72 ms | 173 ms | 5.8 Hz |
The backbone (Vision Encoder + Language Model) timing is the same across all modes. Only the Action Head (DiT) is optimized with torch.compile or TensorRT, which is why you see significant speedups in the Action Head column while the Backbone column remains constant.

Speedup comparison

Speedup vs PyTorch Eager mode:

PyTorch mode (default)

Run inference without optimization:

Installation

No additional dependencies required.

torch.compile optimization

PyTorch’s built-in compiler optimizes the action head (DiT) for faster inference:
The first inference call will be slower due to compilation. Subsequent calls will benefit from optimized kernels.

Performance characteristics

  • RTX 5090: 1.58x faster E2E, 2.32x faster action head
  • H100: 2.02x faster E2E, 4.60x faster action head
  • RTX 4090: 1.87x faster E2E, 3.26x faster action head
  • Orin: 1.50x faster E2E, 2.00x faster action head

TensorRT optimization

TensorRT provides the fastest inference by optimizing and compiling the action head to GPU-specific kernels. See the TensorRT guide for detailed setup.

Quick setup

Performance characteristics

  • RTX 5090: 1.86x faster E2E, 3.59x faster action head (31ms E2E, 32.1 Hz)
  • H100: 2.14x faster E2E, 4.80x faster action head (36ms E2E, 27.9 Hz)
  • RTX 4090: 1.92x faster E2E, 3.48x faster action head
  • Orin: 1.73x faster E2E, 2.80x faster action head
TensorRT engines are GPU-specific. Rebuild the engine when moving to different GPU architectures.

Benchmarking your hardware

Run the benchmark script to measure performance on your hardware:

Benchmark arguments

Output example

Architecture

GR00T’s inference pipeline consists of three main components:
Only the DiT (Diffusion Transformer) action head is optimized with TensorRT, as it’s the main computational bottleneck.

Optimization selection guide

Command-line arguments

standalone_inference_script.py

Troubleshooting

Compilation errors with torch.compile

Out of memory errors

Reduce batch size or action horizon:

Slow first inference

This is expected with torch.compile and TensorRT. Add warmup iterations:

Advanced topics

Analyzing inference timing

Use the provided Jupyter notebook for detailed analysis:
This notebook includes:
  • Component-wise timing breakdown
  • Visualization of speedups across devices
  • Comparison of different optimization modes