TensorRT 10.7.0 on Orin Nano: Target GPU SM 87 is not supported by this TensorRT release

Description

When attempting to export a model to a TensorRT engine on an Orin Nano 8GB running Jetpack 6.2.2, I get an error:

[03/21/2026-03:05:27] [TRT] [E] IBuilder::buildSerializedNetwork: Error Code 9: API Usage Error (Target GPU SM 87 is not supported by this TensorRT release. In checkCurrentSMEnabled at optimizer/common/builderHelpers.cpp:708)

Environment

TensorRT Version: 10.7.0
GPU Type: Orin Nano 8GB
Nvidia Driver Version: 540.5.0
CUDA Version: 12.6
CUDNN Version: 9.20.0
Operating System + Version: JetPack 6.2, Jetson Linux 36.5.0
Python Version (if applicable): 3.10.19
TensorFlow Version (if applicable): N/A
PyTorch Version (if applicable): N/A
Baremetal or Container (if container which image + tag): Bare metal

Relevant Files

N/A

Steps To Reproduce

Exporting the Yolo26x model to TensorRT.

from ultralytics import YOLO
model = YOLO("yolo26x.pt")
model.export(format="engine")

requirements.txt via pip freeze is attached.

requirements.txt (1.9 KB)

Output:

model.export(
    format="engine",
    imgsz=(704, 480),
    batch=4,
    device=0,
    half=True,
    data="coco.yaml",
)
(.venv) orin@aeglos:~/detection$ nano .
(.venv) orin@aeglos:~/detection$ nano simple_export.py
(.venv) orin@aeglos:~/detection$ ls
bus.jpg       detect.py        pwd          simple_export.py  yolo26n.pt
constants.py  LICENSE          __pycache__  yolo26l.engine    yolo26x.engine
datasets      list.streams     README.md    yolo26l.onnx      yolo26x.onnx
deb           model_export.py  runs         yolo26l.pt        yolo26x.pt
(.venv) orin@aeglos:~/detection$ python simple_export.py
WARNING ⚠ TensorRT requires GPU export, automatically assigning device=0
Ultralytics 8.4.14 🚀 Python-3.10.19 torch-2.9.1 CUDA:0 (Orin, 7607MiB)
YOLO26x summary (fused): 190 layers, 55,725,948 parameters, 0 gradients, 193.9 GFLOPs

PyTorch: starting from 'yolo26x.pt' with input shape (1, 3, 640, 640) BCHW and output shape(s

ONNX: starting export with onnx 1.20.1 opset 20...
/home/orin/detection/.venv/lib/python3.10/site-packages/torch/onnx/_internal/torchscript_expo
  warnings.warn(
ONNX: slimming with onnxslim 0.1.85...
2026-03-21 03:26:35.763961891 [W:onnxruntime:Default, device_discovery.cc:164 DiscoverDevices
ONNX: export success ✅ 10.1s, saved as 'yolo26x.onnx' (212.9 MB)

TensorRT: starting export with TensorRT 10.7.0...
[03/21/2026-03:26:40] [TRT] [I] [MemUsageChange] Init CUDA: CPU -2, GPU +0, now: CPU 1960, GP
[03/21/2026-03:26:41] [TRT] [I] [MemUsageChange] Init builder kernel library: CPU +1, GPU +1,
[03/21/2026-03:26:41] [TRT] [I] -------------------------------------------------------------
[03/21/2026-03:26:41] [TRT] [I] Input filename:   yolo26x.onnx
[03/21/2026-03:26:41] [TRT] [I] ONNX IR version:  0.0.9
[03/21/2026-03:26:41] [TRT] [I] Opset version:    20
[03/21/2026-03:26:41] [TRT] [I] Producer name:    pytorch
[03/21/2026-03:26:41] [TRT] [I] Producer version: 2.9.1
[03/21/2026-03:26:41] [TRT] [I] Domain:
[03/21/2026-03:26:41] [TRT] [I] Model version:    0
[03/21/2026-03:26:41] [TRT] [I] Doc string:
[03/21/2026-03:26:41] [TRT] [I] -------------------------------------------------------------
TensorRT: input "images" with shape(1, 3, 640, 640) DataType.FLOAT
TensorRT: output "output0" with shape(1, 300, 6) DataType.FLOAT
TensorRT: building FP32 engine as yolo26x.engine
[03/21/2026-03:26:41] [TRT] [E] IBuilder::buildSerializedNetwork: Error Code 9: API Usage Err
ERROR ❌ TensorRT: export failure 11.3s: TensorRT engine build failed, check logs for errors
Traceback (most recent call last):
  File "/home/orin/detection/simple_export.py", line 3, in <module>
    model.export(format="engine")
  File "/home/orin/detection/.venv/lib/python3.10/site-packages/ultralytics/engine/model.py",
    return Exporter(overrides=args, _callbacks=self.callbacks)(model=self.model)
  File "/home/orin/detection/.venv/lib/python3.10/site-packages/ultralytics/engine/exporter.p
    f[1] = self.export_engine(dla=dla)
  File "/home/orin/detection/.venv/lib/python3.10/site-packages/ultralytics/engine/exporter.p
    raise e
  File "/home/orin/detection/.venv/lib/python3.10/site-packages/ultralytics/engine/exporter.py", line 244, in outer_func
    f = inner_func(*args, **kwargs)  # exported file/dir or tuple of (file/dir, *)
  File "/home/orin/detection/.venv/lib/python3.10/site-packages/ultralytics/engine/exporter.py", line 1028, in export_engine
    onnx2engine(
  File "/home/orin/detection/.venv/lib/python3.10/site-packages/ultralytics/utils/export/engine.py", line 233, in onnx2engine
    raise RuntimeError("TensorRT engine build failed, check logs for errors")
RuntimeError: TensorRT engine build failed, check logs for errors

Hi @blthayer,

Based on your log and requirements.txt, the Target GPU SM 87 is not supported error is a classic Jetson environment conflict.

Here is exactly what’s happening and how to fix it so you can export your YOLO model.

The Root Cause

The issue comes down to how your Python virtual environment (.venv) is interacting with your Orin Nano’s hardware-specific packages.

  • Virtual Environment Isolation: Your .venv is isolated and cannot see the system-level TensorRT bindings that JetPack normally provides.
  • The Wrong Wheel: When you ran model.export(format="engine"), Ultralytics couldn’t find TensorRT in your .venv, so it automatically ran pip install tensorrt as a fallback (pulling in tensorrt==10.7.0).
  • Datacenter vs. Edge Architecture: The standard aarch64 TensorRT packages on PyPI are compiled for datacenter ARM servers (SBSA). They explicitly do not support Jetson edge GPUs like your Orin Nano (SM 87).

How to Fix It

You need to remove the incompatible PyPI wheels and give your virtual environment access to JetPack’s native TensorRT bindings.

Step 1: Clean up your virtual environment
Uninstall the incorrect PyPI packages so they don’t conflict:

pip uninstall tensorrt tensorrt-cu12-bindings tensorrt-cu12-libs tensorrt-dispatch tensorrt-lean

Step 2: Ensure system-level TensorRT is installed
Make sure the proper JetPack bindings are on your underlying OS:

sudo apt-get update
sudo apt-get install python3-libnvinfer python3-libnvinfer-dev

Step 3: Link the system packages to your .venv
Choose one of these two methods to expose the native library to your virtual environment:

Option A: Recreate the venv (Recommended)
Rebuild your environment using the --system-site-packages flag so it inherits system libraries:

deactivate
rm -rf .venv
python3 -m venv .venv --system-site-packages
source .venv/bin/activate
pip install ultralytics # Re-install your project dependencies

Option B: Manually symlink the library (Quicker)
If you don’t want to rebuild your environment, just symlink the native library directly into it:

ln -s /usr/lib/python3.10/dist-packages/tensorrt /home/orin/detection/.venv/lib/python3.10/site-packages/tensorrt

Once your .venv is pointing to JetPack’s native TensorRT, run python simple_export.py again. It will recognize the SM 87 architecture and export your YOLO engine successfully!

Please try these and let me know if it works or not !

Thank you !