Skip to main content

onnxruntime-gpu-extended-auto

pip install onnxruntime-gpu-extended-auto

That is the whole thing. It looks at which CUDA and cuDNN are installed on the machine you are running pip on, then pulls the matching onnxruntime-gpu-extended build.

Why this exists

A wheel filename can say "Python 3.12, aarch64, glibc 2.34". It cannot say "cuDNN 8" or "cuDNN 9". Both JetPack 6.0 and JetPack 6.2 produce the exact same tag, cp312-cp312-manylinux_2_34_aarch64, so PyPI has no way to hand each one a different file. An onnxruntime built against cuDNN 8 will not load on cuDNN 9, and vice versa.

This package resolves that at install time instead.

Published versions are <onnxruntime version>.<cuda major>.<cudnn major>, so the ABI that the filename cannot express lives in the version number instead.

Detected Installs
CUDA 11 / cuDNN 8 (JetPack 5, L4T r35.x) onnxruntime-gpu-extended==1.18.1.11.8
CUDA 12 / cuDNN 8 (JetPack 6.0, L4T r36.3) onnxruntime-gpu-extended==1.22.2.12.8
CUDA 12 / cuDNN 9 (JetPack 6.1 / 6.2, L4T r36.4) onnxruntime-gpu-extended==1.23.2.12.9
anything not aarch64 onnxruntime-gpu

Check what you have with head -1 /etc/nv_tegra_release.

JetPack 5 is capped at onnxruntime 1.18.1 — the last release whose cmake accepts CUDA 11.4. Flash and memory-efficient attention compile out below CUDA 11.6, so those kernels are absent from that build.

Jetson is the only platform upstream never shipped CUDA wheels for, so on x86_64 this hands you the normal onnxruntime-gpu and gets out of the way. It is safe to depend on from a project that runs on both.

Install it on the device

Detection reads the machine running pip. Building a lockfile or a container image on one JetPack and deploying to another will bake in the wrong choice.

pip caches the wheel it builds from this package, keyed on the source archive rather than on the machine. After upgrading JetPack on a box, reinstall with --no-cache-dir so detection runs again.

To pick explicitly instead of detecting:

ORT_GPU_EXTENDED_VARIANT='onnxruntime-gpu-extended==1.23.2.12.9' pip install onnxruntime-gpu-extended-auto

The same variable is how this package's own source archive gets built off-device, since detection otherwise refuses to run on an aarch64 machine without CUDA.

Verify

import onnxruntime
print(onnxruntime.get_available_providers())

get_available_providers() lists what was compiled in, not what loads. To prove CUDA actually works, build a session and ask it:

session = onnxruntime.InferenceSession("model.onnx", providers=["CUDAExecutionProvider"])
print(session.get_providers())

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

onnxruntime_gpu_extended_auto-1.23.3.tar.gz (4.8 kB view details)

Uploaded Source

File details

Details for the file onnxruntime_gpu_extended_auto-1.23.3.tar.gz.

File metadata

File hashes

Hashes for onnxruntime_gpu_extended_auto-1.23.3.tar.gz
Algorithm Hash digest
SHA256 0c71515b8d218f3040d8fa80f1cc8ccbc1725083d8ce0f702eb2eb032e03abe6
MD5 21561f964260199b19d952370a45ceb9
BLAKE2b-256 87ede27c7060893fee6fd4d9e8d670dd9d2e69bd3bd2c219f443b0d16677259d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.23.3 This release

1 file

1.23.2

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page