Technical Documentation: dusty-nv/jetson-containers
ℹ️ Provenance: Multi-Tier Ingestion · CodeWiki Reference
Overview (`README.md`)
CUDA Containers for Edge AI & Robotics
Modular container build system that provides the latest AI/ML packages for NVIDIA Jetson :rocket::robot:
See the packages directory for the full list, including pre-built container images for JetPack/L4T.
Using the included tools, you can easily combine packages together for building your own containers. Want to run ROS2 with PyTorch and Transformers? No problem - just do the system setup, and build it on your Jetson:
$ jetson-containers build --name=my_container pytorch transformers ros:humble-desktopThere are shortcuts for running containers too - this will pull or build a l4t-pytorch image that's compatible:
$ jetson-containers run $(autotag l4t-pytorch)
jetson-containers runlaunchesdocker runwith some added defaults (like--runtime nvidia, mounted/datacache and devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
If you look at any package's readme (like l4t-pytorch), it will have detailed instructions for running it.
Changing CUDA Versions
You can rebuild the container stack for different versions of CUDA by setting the CUDA_VERSION variable:
CUDA_VERSION=12.6 jetson-containers build transformersIt will then go off and either pull or build all the dependencies needed, including PyTorch and other packages that would be time-consuming to compile. There is a Pip server that caches the wheels to accelerate builds. You can also request specific versions of cuDNN, TensorRT, Python, and PyTorch with similar environment variables like here.
Documentation
Check out the tutorials at the Jetson Generative AI Lab!
Getting Started
Refer to the System Setup page for tips about setting up your Docker daemon and memory/storage tuning.
# install the container tools
git clone https://github.com/dusty-nv/jetson-containers
bash jetson-containers/install.sh
# automatically pull & run any container
jetson-containers run $(autotag l4t-pytorch)To also spin up a local devpi PyPI + APT caching server during install, pass --pypi:
sudo bash jetson-containers/install.sh --pypiThis launches a containerized devpi instance with per-architecture indexes (jp6, jp7, sbsa, amd64) and an nginx-based APT cache, so subsequent builds resolve wheels and packages locally instead of hitting the network.
Or you can manually run a container image of your choice without using the helper scripts above:
sudo docker run --runtime nvidia -it --rm --network=host dustynv/l4t-pytorch:r36.2.0Looking for the old jetson-containers? See the legacy branch.
Only Tested and supported Jetpack 6.2 (Cuda 12.6) and JetPack 7 (CUDA 13.x).
[!NOTE]
Ubuntu 24.04 containers for JetPack 6 and JetPack 7 are now available (with CUDA support)
LSB_RELEASE=24.04 jetson-containers build pytorch:2.8
jetson-containers run dustynv/pytorch:2.8-r36.4-cu128-24.04ARM SBSA (Server Base System Architecture) is supported for GH200 / GB200.
To install CUDA 13.0 SBSA wheels for Python 3.12 / 24.04:
uv pip install torch torchvision torchaudio \
--index-url https://pypi.jetson-ai-lab.io/sbsa/cu129See the
Ubuntu 24.04section of the docs for details and a list of available containers 🤗
Thanks to all our contributors fromDiscordand AI community for their support 🤗
[!IMPORTANT]
Jetson Orin now receives ARM SBSA CUDA in CUDA 13.2 — Starting with CUDA 13.2, the same Arm SBSA CUDA Toolkit is supported on Jetson Orin devices, unifying the toolkit across server-class (GH200/GB200) and embedded (Orin) platforms. This requires JetPack 7.2 with CUDA driver R595 minimum.
Code Style
The project uses automated code formatting tools to maintain consistent code style. See Code Style Guide for details on:
- Setting up formatting tools
- Adding your package to formatting checks
- Troubleshooting common issues
Troubleshooting
InvalidDefaultArgInFrom: Default value for ARG ${BASE_IMAGE} results in empty or invalid base image name
This may be caused by corrupted caches. Docker caches both image results and build downloads. Try these simple steps first:
- Remove non-essential docker images using: *docker image rm --force *
- Prune resulting docker image cache: docker image prune -f
- Prune docker build image cache: docker buildx prune -f
Gallery
Multimodal Voice Chat with LLaVA-1.5 13B on NVIDIA Jetson AGX Orin (container:
NanoLLM)
Interactive Voice Chat with Llama-2-70B on NVIDIA Jetson AGX Orin (container:
NanoLLM)
Realtime Multimodal VectorDB on NVIDIA Jetson (container:
nanodb)
NanoOWL - Open Vocabulary Object Detection ViT (container:
nanoowl)
Live Llava on Jetson AGX Orin (container:
NanoLLM)
Live Llava 2.0 - VILA + Multimodal NanoDB on Jetson Orin (container:
NanoLLM)
Small Language Models (SLM) on Jetson Orin Nano (container:
NanoLLM)
Realtime Video Vision/Language Model with VILA1.5-3b (container:
NanoLLM)
Citation
Please see CITATION.cff for citation information.
Overview (`packages/README.md`)
Packages
ATTENTIONBUILDCODECUDACVHWLLMMLMULTIMEDIANETPHYSICAL AIRAGSMART-HOMESPEECHVECTORDBVITVLM
Attention
Attention mechanism implementations and optimizations.
| Package | Path |
|---|---|
ParaAttention |
attention/ParaAttention |
block-sparse-attention |
attention/block-sparse-attention |
flash-attention |
attention/flash-attention |
flashinfer |
attention/flashinfer |
flexprefill |
attention/flexprefill |
huggingface_kernels |
attention/huggingface_kernels |
jvp-flash-attention |
attention/jvp-flash-attention |
log-linear-attention |
attention/log-linear-attention |
radial-attention |
attention/radial-attention |
sage-attention |
attention/sage-attention |
sparge-attention |
attention/sparge-attention |
tilelang |
attention/tilelang |
xattention |
attention/xattention |
xformers |
attention/xformers |
Build
Build tools, compilers, and development dependencies.
| Package | Path |
|---|---|
bazel |
build/bazel |
build-essential |
build/build-essential |
cmake:apt |
build/cmake/cmake_apt |
cmake:pip |
build/cmake/cmake_pip |
docker |
build/docker |
go |
build/go |
h5py |
build/h5py |
helm |
build/helm |
llvm |
build/llvm |
ninja |
build/ninja |
nodejs |
build/nodejs |
protobuf:apt |
build/protobuf/protobuf_apt |
protobuf:cpp |
build/protobuf/protobuf_cpp |
pybind11 |
build/pybind11 |
python |
build/python |
rust |
build/rust |
Code
Development environments and IDEs.
| Package | Path |
|---|---|
jupyterlab |
code/jupyterlab |
openhands |
code/openhands |
vscode |
code/vscode |
CUDA
CUDA toolkit, libraries, and Python bindings.
| Package | Path |
|---|---|
cuda |
cuda/cuda |
cuda-python |
cuda/cuda-python |
cudastack |
cuda/cudastack |
cudnn_frontend |
cuda/cudastack/cudnn_frontend |
cutlass |
cuda/cutlass |
pycuda |
cuda/pycuda |
CV
Computer vision, 3D reconstruction, diffusion models, and related packages.
cv/3d/3dobjects
| Package | Path |
|---|---|
partpacker |
cv/3d/3dobjects/partpacker |
sparc3d |
cv/3d/3dobjects/sparc3d |
cv/3d/3dvision
| Package | Path |
|---|---|
glomap |
cv/3d/3dvision/glomap |
hloc |
cv/3d/3dvision/hloc |
kaolin |
cv/3d/3dvision/kaolin |
meshlab |
cv/3d/3dvision/meshlab |
nerfacc |
cv/3d/3dvision/nerfacc |
open3d |
cv/3d/3dvision/open3d |
pixsfm |
cv/3d/3dvision/pixsfm |
polyscope |
cv/3d/3dvision/polyscope |
pyceres |
cv/3d/3dvision/pyceres |
pycolmap |
cv/3d/3dvision/pycolmap |
pymeshlab |
cv/3d/3dvision/pymeshlab |
tinycudann |
cv/3d/3dvision/tinycudann |
usdcore |
cv/3d/3dvision/usdcore |
cv/3d/gaussian_splatting
| Package | Path |
|---|---|
3dgrut |
cv/3d/gaussian_splatting/3dgrut |
4k4d |
cv/3d/gaussian_splatting/4k4d |
easyvolcap |
cv/3d/gaussian_splatting/easyvolcap |
fast_gauss |
cv/3d/gaussian_splatting/fast_gauss |
gsplat |
cv/3d/gaussian_splatting/gsplat |
nerfview |
cv/3d/gaussian_splatting/nerfview |
cv/3d/nerf
| Package | Path |
|---|---|
fruitnerf |
cv/3d/nerf/fruitnerf |
nerfstudio |
cv/3d/nerf/nerfstudio |
cv/diffusion
| Package | Path |
|---|---|
3d_diffusion_policy |
cv/diffusion/3d_diffusion_policy |
ai-toolkit |
cv/diffusion/ai-toolkit |
cache_edit |
cv/diffusion/cache_edit |
comfyui |
cv/diffusion/comfyui |
diffusers |
cv/diffusion/diffusers |
diffusion_cpp |
cv/diffusion/diffusion_cpp |
diffusion_policy |
cv/diffusion/diffusion_policy |
fastgen |
cv/diffusion/fastgen |
framepack |
cv/diffusion/framepack |
sdnext |
cv/diffusion/sdnext |
self-forcing |
cv/diffusion/self-forcing |
stable-diffusion-webui |
cv/diffusion/stable-diffusion-webui |
cv (other)
| Package | Path |
|---|---|
cv-cuda |
cv/cv-cuda |
deepstream |
cv/deepstream |
holoscan |
cv/holoscan |
jetson-inference |
cv/jetson-inference |
opencv |
cv/opencv |
vpi |
cv/vpi |
HW
Hardware interfaces and device drivers.
| Package | Path |
|---|---|
canable |
hw/canable |
canbus |
hw/canbus |
cangaroo |
hw/cangaroo |
jetcam |
hw/jetcam |
jupyter_clickable_image_widget |
hw/jupyter_clickable_image_widget |
librealsense |
hw/librealsense |
oled |
hw/oled |
pl2303 |
hw/pl2303 |
zed |
hw/zed |
LLM
Large language model inference, training, quantization, and serving frameworks.
ML
Machine learning frameworks, PyTorch ecosystem, numeric libraries, and RAPIDS.
ml/pytorch
| Package | Path |
|---|---|
pytorch |
ml/pytorch |
apex |
ml/pytorch/apex |
torch2trt |
ml/pytorch/torch2trt |
torch3d |
ml/pytorch/torch3d |
torch_tensorrt |
ml/pytorch/torch_tensorrt |
torchao |
ml/pytorch/torchao |
torchaudio |
ml/pytorch/torchaudio |
torchcodec |
ml/pytorch/torchcodec |
torchsaver |
ml/pytorch/torchsaver |
torchsde |
ml/pytorch/torchsde |
torchtext |
ml/pytorch/torchtext |
torchvision |
ml/pytorch/torchvision |
ml/tensorflow
| Package | Path |
|---|---|
tensorflow |
ml/tensorflow |
tensorboard |
ml/tensorflow/tensorboard |
ml/jax
| Package | Path |
|---|---|
jax |
ml/jax |
ml/mamba
| Package | Path |
|---|---|
causalconv1d |
ml/mamba/causalconv1d |
cobra |
ml/mamba/cobra |
dimba |
ml/mamba/dimba |
mamba |
ml/mamba/mamba |
mambavision |
ml/mamba/mambavision |
videomambasuite |
ml/mamba/videomambasuite |
zigma |
ml/mamba/zigma |
ml/numeric
| Package | Path |
|---|---|
arrow |
ml/numeric/arrow |
cupy |
ml/numeric/cupy |
numba |
ml/numeric/numba |
numpy |
ml/numeric/numpy |
warp |
ml/numeric/warp |
ml/rapids
| Package | Path |
|---|---|
cudf |
ml/rapids/cudf |
cuml |
ml/rapids/cuml |
raft |
ml/rapids/raft |
ml/kans
| Package | Path |
|---|---|
kat |
ml/kans/kat |
pykan |
ml/kans/pykan |
ml/xlstm
| Package | Path |
|---|---|
mlstm_kernels |
ml/xlstm/mlstm_kernels |
pltsm |
ml/xlstm/pltsm |
xlstm |
ml/xlstm/xlstm |
ml/apache
| Package | Path |
|---|---|
tvm |
ml/apache/tvm |
tvm-ffi |
ml/apache/tvm-ffi |
ml (other)
| Package | Path |
|---|---|
aim |
ml/aim |
ctranslate2 |
ml/ctranslate2 |
dli-nano-ai |
ml/dli/dli-nano-ai |
onnx |
ml/onnx |
onnxruntime |
ml/onnxruntime |
onnxruntime_genai |
ml/onnxruntime_genai |
transformer-engine |
ml/transformer-engine |
triton |
ml/triton |
tritonserver |
ml/tritonserver |
ml/l4t
| Package | Path |
|---|---|
l4t-diffusion |
ml/l4t/l4t-diffusion |
l4t-dynamo |
ml/l4t/l4t-dynamo |
l4t-ml |
ml/l4t/l4t-ml |
l4t-pytorch |
ml/l4t/l4t-pytorch |
l4t-tensorflow |
ml/l4t/l4t-tensorflow |
l4t-text-generation |
ml/l4t/l4t-text-generation |
Multimedia
Media processing, video codecs, and streaming.
| Package | Path |
|---|---|
decord |
multimedia/decord |
ffmpeg |
multimedia/ffmpeg |
gstreamer |
multimedia/gstreamer |
jetson-utils |
multimedia/jetson-utils |
libcom |
multimedia/libcom |
opengl |
multimedia/opengl |
pyav |
multimedia/pyav |
sound-utils |
multimedia/sound-utils |
video-codec-sdk |
multimedia/video-codec-sdk |
vulkan |
multimedia/vulkan |
Net
Networking, proxies, and self-hosted infrastructure.
| Package | Path |
|---|---|
devpi |
net/devpi |
https-portal |
net/https-portal |
mkdocs |
net/mkdocs |
nginx_proxy_manager |
net/nginx_proxy_manager |
portainer |
net/portainer |
pypi.dev |
net/pypi.dev |
tailscale |
net/tailscale |
yacht |
net/yacht |
PhysicalAI
Robotics, simulation, embodied AI, and vision-language-action models.
physicalAI/sim
| Package | Path |
|---|---|
genesis |
physicalAI/sim/genesis |
quadrants |
physicalAI/sim/genesis/quadrants |
splashSurf |
physicalAI/sim/genesis/splashSurf |
vtk |
physicalAI/sim/genesis/vtk |
habitat-sim |
physicalAI/sim/habitat-sim |
isaac-sim |
physicalAI/sim/isaac-sim |
mimicgen |
physicalAI/sim/mimicgen |
mujoco |
physicalAI/sim/mujoco |
newton |
physicalAI/sim/newton |
physx |
physicalAI/sim/physx |
robogen |
physicalAI/sim/robogen |
robomimic |
physicalAI/sim/robomimic |
robosuite |
physicalAI/sim/robosuite |
sapien |
physicalAI/sim/sapien |
physicalAI/vla
| Package | Path |
|---|---|
crossformer |
physicalAI/vla/crossformer |
isaac-gr00t |
physicalAI/vla/isaac-gr00t |
octo |
physicalAI/vla/octo |
openvla |
physicalAI/vla/openvla |
robopoint |
physicalAI/vla/robopoint |
physicalAI/cosmos
| Package | Path |
|---|---|
cosmos-policy |
physicalAI/cosmos/cosmos-policy |
cosmos-predict2 |
physicalAI/cosmos/cosmos-predict2 |
cosmos-reason1 |
physicalAI/cosmos/cosmos-reason1 |
cosmos-transfer1 |
physicalAI/cosmos/cosmos-transfer1 |
cosmos_diffusion_renderer |
physicalAI/cosmos/cosmos_diffusion_renderer |
physicalAI (other)
| Package | Path |
|---|---|
Isaac-GR00T |
physicalAI/Isaac-GR00T |
isaac-ros |
physicalAI/isaac-ros |
lerobot |
physicalAI/lerobot |
opendronemap |
physicalAI/opendronemap |
openpi |
physicalAI/openpi |
protomotions |
physicalAI/protomotions |
ros |
physicalAI/ros |
RAG
Retrieval-augmented generation and knowledge tools.
| Package | Path |
|---|---|
graphiti |
rag/graphiti |
jetson-copilot |
rag/jetson-copilot |
langchain |
rag/langchain |
llama-index |
rag/llama-index |
memvid |
rag/memvid |
n8n |
rag/n8n |
Smart-Home
Home automation, voice assistants, and Wyoming protocol servers.
| Package | Path |
|---|---|
homeassistant-base |
smart-home/homeassistant-base |
homeassistant-core |
smart-home/homeassistant-core |
ciso8601 |
smart-home/dependencies/ciso8601 |
psutil-home-assistant |
smart-home/dependencies/psutil-home-assistant |
wyoming-assist-microphone |
smart-home/wyoming/wyoming-assist-microphone |
wyoming-openwakeword |
smart-home/wyoming/wyoming-openwakeword |
wyoming-piper |
smart-home/wyoming/wyoming-piper |
wyoming-whisper |
smart-home/wyoming/wyoming-whisper |
Speech
Speech recognition, text-to-speech, and audio processing.
| Package | Path |
|---|---|
audiocraft |
speech/audiocraft |
chatterbox-tts |
speech/chatterbox-tts |
espeak |
speech/espeak |
faster-whisper |
speech/faster-whisper |
kokoro-tts-fastapi |
speech/kokoro-tts/kokoro-tts-fastapi |
kokoro-tts-hf |
speech/kokoro-tts/kokoro-tts-hf |
kokoro-tts-onnx |
speech/kokoro-tts/kokoro-tts-onnx |
piper1-tts |
speech/piper1-tts |
riva-client |
speech/riva-client |
spark-tts |
speech/spark-tts |
speaches |
speech/speaches |
speech-dispatcher |
speech/speech-dispatcher |
voice-pro |
speech/voice-pro |
voicecraft |
speech/voicecraft |
whisper |
speech/whisper |
whisper_trt |
speech/whisper_trt |
whisperx |
speech/whisperx |
xtts |
speech/xtts |
VectorDB
Vector databases and similarity search.
| Package | Path |
|---|---|
faiss |
vectordb/faiss |
faiss_lite |
vectordb/faiss_lite |
nanodb |
vectordb/nanodb |
VIT
Vision transformer models and segmentation.
| Package | Path |
|---|---|
clip_trt |
vit/clip_trt |
efficientvit |
vit/efficientvit |
nanoowl |
vit/nanoowl |
nanosam |
vit/nanosam |
sam |
vit/sam |
sapiens |
vit/sapiens |
tam |
vit/tam |
VLM
Vision-language models for multimodal understanding.
| Package | Path |
|---|---|
gemma_vlm |
vlm/gemma_vlm |
lita |
vlm/lita |
llama-vision |
vlm/llama-vision |
llava |
vlm/llava |
minigpt4 |
vlm/minigpt4 |
prismatic |
vlm/prismatic |
videollama |
vlm/videollama |
vila |
vlm/vila |
vila-microservice |
vlm/vila-microservice |
xtuner |
vlm/xtuner |
Overview (`deprecated/auto_awq/README.md`)
auto_awq
auto_awq:0.2.4 |
|
|---|---|
| Aliases | auto_awq |
| Requires | L4T ['>=36'] |
| Dependencies | build-essential cuda cudnn python numpy cmake onnx pytorch:2.2 torchvision huggingface_hub rust transformers |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag auto_awq)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host auto_awq:35.2.1
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag auto_awq)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag auto_awq) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build auto_awqThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`deprecated/gptq-for-llama/README.md`)
gptq-for-llama
gptq-for-llama |
|
|---|---|
| Builds | |
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential cuda cudnn python numpy cmake onnx pytorch:2.2 torchvision huggingface_hub rust transformers |
| Dockerfile | Dockerfile |
| Images | dustynv/gptq-for-llama:r35.2.1 (2023-12-06, 5.9GB)dustynv/gptq-for-llama:r35.3.1 (2023-12-14, 5.9GB)dustynv/gptq-for-llama:r35.4.1 (2023-12-15, 5.9GB)dustynv/gptq-for-llama:r36.2.0 (2024-01-02, 7.6GB) |
| Notes | https://github.com/oobabooga/GPTQ-for-LLaMa |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/gptq-for-llama:r35.2.1 |
2023-12-06 |
arm64 |
5.9GB |
dustynv/gptq-for-llama:r35.3.1 |
2023-12-14 |
arm64 |
5.9GB |
dustynv/gptq-for-llama:r35.4.1 |
2023-12-15 |
arm64 |
5.9GB |
dustynv/gptq-for-llama:r36.2.0 |
2024-01-02 |
arm64 |
7.6GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag gptq-for-llama)
# or explicitly specify one of the container images above
jetson-containers run dustynv/gptq-for-llama:r36.2.0
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/gptq-for-llama:r36.2.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag gptq-for-llama)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag gptq-for-llama) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build gptq-for-llamaThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`deprecated/piper-tts/README.md`)
piper-tts
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/piper-tts:r35.4.1 |
2024-04-07 |
arm64 |
5.5GB |
dustynv/piper-tts:r36.2.0 |
2024-04-07 |
arm64 |
6.7GB |
dustynv/piper-tts:r36.4.0 |
2025-02-19 |
arm64 |
6.3GB |
dustynv/piper-tts:r36.4.0-cu128-24.04 |
2025-03-03 |
arm64 |
5.6GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag piper-tts)
# or explicitly specify one of the container images above
jetson-containers run dustynv/piper-tts:r36.4.0-cu128-24.04
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/piper-tts:r36.4.0-cu128-24.04
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag piper-tts)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag piper-tts) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build piper-ttsThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`deprecated/shape-llm/README.md`)
shape-llm
shape-llm |
|
|---|---|
| Aliases | shape_llm |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu122 cuda:12.2 cudnn python numpy cmake onnx pytorch:2.2 torchvision huggingface_hub rust transformers bitsandbytes flash-attention opencv:4.11.0 |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag shape-llm)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host shape-llm:36.3.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag shape-llm)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag shape-llm) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build shape-llmThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`deprecated/stable-diffusion/README.md`)
stable-diffusion
Generate images from text (txt2img) or from other images (img2img)
- stable-diffusion: https://github.com/CompVis/stable-diffusion (
/opt/stable-diffusion) - with memory optimizations: https://github.com/basujindal/stable-diffusion (
/opt/stable-diffusion/optimizedSD) - tested on
stable-diffusion-1.4model: https://huggingface.co/CompVis/stable-diffusion-v-1-4-original
See the stable-diffusion-webui container for a faster implementation with a web interface.
txt2img
Download the stable-diffusion-1.4 model (sd-v1-4.ckpt)
wget https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt -O /data/models/stable-diffusion/sd-v1-4.ckptThen run this in the container to generate images (by default, six 512x512 images with 50 refinement steps)
cd /opt/stable-diffusion && python3 scripts/txt2img.py --plms \
--ckpt /data/models/stable-diffusion/sd-v1-4.ckpt \
--outdir /data/images/stable-diffusion \
--prompt "a photograph of an astronaut riding a horse"See here for options: https://github.com/CompVis/stable-diffusion#reference-sampling-script
For just one 512x512 image with 25 steps:
cd /opt/stable-diffusion && python3 scripts/txt2img.py --plms \
--n_samples 1 --n_iter 1 --ddim_steps 25 \
--ckpt /data/models/stable-diffusion/sd-v1-4.ckpt \
--outdir /data/images/stable-diffusion \
--prompt "two robots walking in the woods"- Change the image resolution with
--Wand--H(the default is 512x512) - Change the
--seedto have the images be different (the default seed is 42)
For Jetson Orin Nano and reduced memory usage:
cd /opt/stable-diffusion && python3 optimizedSD/optimized_txt2img.py \
--sampler plms --seed 42 \
--n_samples 1 --n_iter 1 --ddim_steps 25 \
--ckpt /data/models/stable-diffusion/sd-v1-4.ckpt \
--outdir /data/images/stable-diffusion \
--prompt "a photograph of an astronaut riding a horse"To run all these steps from a script, see stable-diffusion/test.sh
stable-diffusion |
|
|---|---|
| Builds | |
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential cuda cudnn python numpy cmake onnx pytorch:2.2 torchvision huggingface_hub rust transformers |
| Dependants | l4t-diffusion |
| Dockerfile | Dockerfile |
| Images | dustynv/stable-diffusion:r35.2.1 (2023-12-14, 6.1GB)dustynv/stable-diffusion:r35.3.1 (2023-12-12, 6.1GB)dustynv/stable-diffusion:r35.4.1 (2023-12-15, 6.1GB) |
| Notes | disabled on JetPack 4 |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/stable-diffusion:r35.2.1 |
2023-12-14 |
arm64 |
6.1GB |
dustynv/stable-diffusion:r35.3.1 |
2023-12-12 |
arm64 |
6.1GB |
dustynv/stable-diffusion:r35.4.1 |
2023-12-15 |
arm64 |
6.1GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag stable-diffusion)
# or explicitly specify one of the container images above
jetson-containers run dustynv/stable-diffusion:r35.4.1
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/stable-diffusion:r35.4.1
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag stable-diffusion)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag stable-diffusion) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build stable-diffusionThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`.github/workflows/scripts/README.md`)
GitHub Actions Workflow Scripts
This directory contains reusable scripts for GitHub Actions workflows in the jetson-containers project.
Scripts
Core Scripts
step-pre-checkout-cleanup.sh- Cleans up permission-restricted files before checkoutstep-system-info.sh- Displays Jetson system informationstep-env-info.sh- Records comprehensive environment variables and system infostep-clean-environment.sh- Cleans up Docker, cache, and permission-restricted directoriesstep-git-status.sh- Shows git repository state and recent history
Build Scripts
step-build-package.sh- Builds and tests a specific packagestep-analyze-results.sh- Analyzes build results and outputs statusstep-test-results-summary.sh- Generates a comprehensive test results summary
Workflow Generation
workflow-template.yml- Template for creating new package workflow filesgenerate-workflow.sh [platform]- Generates a new workflow file from template
Usage
Creating a New Workflow
To create a new workflow for a package and platform:
cd .github/workflows/scripts
./generate-workflow.sh vllm orin
./generate-workflow.sh vllm thorThis will create:
../workflows/pr-on-dev_vllm_orin.yml../workflows/pr-on-dev_vllm_thor.yml
Creating Multiple Workflows
cd .github/workflows/scripts
# For Orin platform
./generate-workflow.sh vllm orin
./generate-workflow.sh cudnn orin
./generate-workflow.sh nccl orin
# For Thor platform
./generate-workflow.sh vllm thor
./generate-workflow.sh cudnn thor
./generate-workflow.sh nccl thorPlatform Support
orin- Jetson Orin (default if platform not specified)thor- Jetson Thor- Any other platform - Just specify the platform name
Manual Workflow Creation
- Copy
workflow-template.ymlto../workflows/pr-on-dev__.yml - Replace all instances of
PACKAGE_NAMEwith the actual package name - Replace all instances of
PLATFORMwith the actual platform name - Update the workflow name as needed
Script Parameters
step-build-package.sh
- Required: `` - The package to build and test
- Example:
./step-build-package.sh vllm
step-analyze-results.sh
- Required:
<stage1> <stage2> - Optional:
[failure_phase] [failure_stage] [failure_component]
step-test-results-summary.sh
- Required:
<stage1> <stage2> - Optional:
[failure_phase] [failure_stage] [failure_component]
Benefits
- Reusable: Same scripts work for all packages
- Maintainable: Update scripts once, affects all workflows
- Consistent: All workflows have the same behavior and output format
- Easy to create: Generate new workflows with a single command
Overview (`deprecated/cuda/cuda-python/README.md`)
cuda-python
cuda-python:12.2 |
|
|---|---|
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu122 cuda:12.2 python numpy |
| Dockerfile | Dockerfile |
cuda-python:12.4 |
|
|---|---|
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu124 cuda:12.4 python numpy |
| Dockerfile | Dockerfile |
cuda-python:12.8 |
|
|---|---|
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu128 cuda:12.8 python numpy |
| Dockerfile | Dockerfile |
cuda-python:12.9 |
|
|---|---|
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu129 cuda:12.9 python numpy |
| Dockerfile | Dockerfile |
cuda-python:13.0 |
|
|---|---|
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu130 cuda:13.0 python numpy |
| Dockerfile | Dockerfile |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/cuda-python:builder-r35.4.1 |
2024-03-26 |
arm64 |
5.1GB |
dustynv/cuda-python:builder-r36.2.0 |
2024-03-11 |
arm64 |
3.6GB |
dustynv/cuda-python:r35.2.1 |
2023-12-06 |
arm64 |
5.0GB |
dustynv/cuda-python:r35.3.1 |
2023-08-29 |
arm64 |
5.0GB |
dustynv/cuda-python:r35.4.1 |
2023-12-06 |
arm64 |
5.0GB |
dustynv/cuda-python:r36.2.0 |
2023-12-06 |
arm64 |
3.5GB |
dustynv/cuda-python:r36.4.0-cu128-24.04 |
2025-03-03 |
arm64 |
2.3GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag cuda-python)
# or explicitly specify one of the container images above
jetson-containers run dustynv/cuda-python:r36.4.0-cu128-24.04
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/cuda-python:r36.4.0-cu128-24.04
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag cuda-python)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag cuda-python) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build cuda-pythonThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`deprecated/cuda/cuda/README.md`)
cuda
cuda:12.2 |
|
|---|---|
| Requires | L4T ['==36.*', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu122 |
| Dependants | cuda-python:12.2 cuda:12.2-samples cudnn:8.9 |
| Dockerfile | Dockerfile |
| Images | dustynv/cuda:12.2-r36.2.0 (2023-12-05, 3.4GB)dustynv/cuda:12.2-samples-r36.2.0 (2023-12-07, 4.8GB) |
pip_cache:cu122 |
|
|---|---|
| Requires | L4T ['==36.*'] |
| Dependencies | |
| Dependants | cuda-python:12.2 cuda:12.2 cuda:12.2-samples cudnn:8.9 |
| Dockerfile | Dockerfile.pip |
cuda:12.2-samples |
|
|---|---|
| Requires | L4T ['==36.*'] |
| Dependencies | build-essential pip_cache:cu122 cuda:12.2 python cmake |
| Dockerfile | Dockerfile.samples |
| Images | dustynv/cuda:12.2-samples-r36.2.0 (2023-12-07, 4.8GB) |
| Notes | CUDA samples from https://github.com/NVIDIA/cuda-samples installed under /opt/cuda-samples |
cuda:12.4 |
|
|---|---|
| Requires | L4T ['==36.*', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu124 |
| Dependants | cuda-python:12.4 cuda:12.4-samples cudnn:9.0 |
| Dockerfile | Dockerfile |
pip_cache:cu124 |
|
|---|---|
| Requires | L4T ['==36.*'] |
| Dependencies | |
| Dependants | cuda-python:12.4 cuda:12.4 cuda:12.4-samples cudnn:9.0 |
| Dockerfile | Dockerfile.pip |
cuda:12.4-samples |
|
|---|---|
| Requires | L4T ['==36.*'] |
| Dependencies | build-essential pip_cache:cu124 cuda:12.4 python cmake |
| Dockerfile | Dockerfile.samples |
| Notes | CUDA samples from https://github.com/NVIDIA/cuda-samples installed under /opt/cuda-samples |
cuda:12.6-samples |
|
|---|---|
| Aliases | cuda:samples |
| Requires | L4T ['==36.*'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 python cmake opengl llvm vulkan |
| Dockerfile | Dockerfile.samples |
| Notes | CUDA samples from https://github.com/NVIDIA/cuda-samples installed under /opt/cuda-samples |
cuda:12.8 |
|
|---|---|
| Requires | L4T ['>=36', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu128 |
| Dependants | cuda-python:12.8 cuda:12.8-samples cudnn:9.8 |
| Dockerfile | Dockerfile |
pip_cache:cu128 |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | |
| Dependants | cuda-python:12.8 cuda:12.8 cuda:12.8-samples cudnn:9.8 |
| Dockerfile | Dockerfile.pip |
cuda:12.8-samples |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu128 cuda:12.8 python cmake opengl llvm vulkan |
| Dockerfile | Dockerfile.samples |
| Notes | CUDA samples from https://github.com/NVIDIA/cuda-samples installed under /opt/cuda-samples |
cuda:12.9 |
|
|---|---|
| Requires | L4T ['>=36', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu129 |
| Dependants | cuda-python:12.9 cuda:12.9-samples cudnn:9.10 |
| Dockerfile | Dockerfile |
| Images | dustynv/cuda:12.9-samples-amd64-cu128-24.04 (2025-04-02, 5.7GB)dustynv/cuda:12.9-samples-r36.4.0-cu128-24.04 (2025-04-02, 2.8GB) |
pip_cache:cu129 |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | |
| Dependants | cuda-python:12.9 cuda:12.9 cuda:12.9-samples cudnn:9.10 |
| Dockerfile | Dockerfile.pip |
cuda:12.9-samples |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu129 cuda:12.9 python cmake opengl llvm vulkan |
| Dockerfile | Dockerfile.samples |
| Images | dustynv/cuda:12.9-samples-amd64-cu128-24.04 (2025-04-02, 5.7GB)dustynv/cuda:12.9-samples-r36.4.0-cu128-24.04 (2025-04-02, 2.8GB) |
| Notes | CUDA samples from https://github.com/NVIDIA/cuda-samples installed under /opt/cuda-samples |
cuda:13.0 |
|
|---|---|
| Requires | L4T ['>=36', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu130 |
| Dependants | cuda-python:13.0 cuda:13.0-samples cudnn:10.0 |
| Dockerfile | Dockerfile |
pip_cache:cu130 |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | |
| Dependants | cuda-python:13.0 cuda:13.0 cuda:13.0-samples cudnn:10.0 |
| Dockerfile | Dockerfile.pip |
cuda:13.0-samples |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu130 cuda:13.0 python cmake opengl llvm vulkan |
| Dockerfile | Dockerfile.samples |
| Notes | CUDA samples from https://github.com/NVIDIA/cuda-samples installed under /opt/cuda-samples |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/cuda:12.2-r36.2.0 |
2023-12-05 |
arm64 |
3.4GB |
dustynv/cuda:12.2-samples-r36.2.0 |
2023-12-07 |
arm64 |
4.8GB |
dustynv/cuda:12.9-samples-amd64-cu128-24.04 |
2025-04-02 |
amd64 |
5.7GB |
dustynv/cuda:12.9-samples-r36.4.0-cu128-24.04 |
2025-04-02 |
arm64 |
2.8GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag cuda)
# or explicitly specify one of the container images above
jetson-containers run dustynv/cuda:12.9-samples-r36.4.0-cu128-24.04
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/cuda:12.9-samples-r36.4.0-cu128-24.04
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag cuda)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag cuda) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build cudaThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`deprecated/cuda/cutlass/README.md`)
cutlass
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag cutlass)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host cutlass:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag cutlass)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag cutlass) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build cutlassThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`deprecated/cuda/gdrcopy/README.md`)
gdrcopy
gdrcopy |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda |
| Dependants | dynamo:0.3.2 l4t-dynamo nixl:0.3.2 nvidia_modelopt:0.32.0 tensorrt_llm:0.12 tensorrt_llm:0.22.0 |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag gdrcopy)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host gdrcopy:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag gdrcopy)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag gdrcopy) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build gdrcopyThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`deprecated/cuda/nccl/README.md`)
nccl
nccl |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag nccl)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host nccl:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag nccl)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag nccl) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build ncclThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`deprecated/cuda/nvpl/README.md`)
nvpl
nvpl |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag nvpl)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host nvpl:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag nvpl)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag nvpl) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build nvplThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`deprecated/cuda/pycuda/README.md`)
pycuda
pycuda |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda python numpy |
| Dependants | audiocraft cv-cuda:0.15 diffusion_policy dli-nano-ai efficientvit jupyter_clickable_image_widget jupyterlab:4.2.0 jupyterlab:4.2.0-myst jupyterlab:latest jupyterlab:latest-myst l4t-diffusion l4t-dynamo l4t-ml l4t-pytorch l4t-tensorflow:tf1 l4t-tensorflow:tf2 l4t-text-generation langchain:samples lerobot llama-index:samples openpi pytorch:2.1-all pytorch:2.2-all pytorch:2.3-all pytorch:2.3.1-all pytorch:2.4-all pytorch:2.5-all pytorch:2.6-all pytorch:2.7-all pytorch:2.8-all sam stable-diffusion-webui tam voice-pro voicecraft warp:1.7.0-all warp:1.8.1-all whisper |
| Dockerfile | Dockerfile |
| Images | dustynv/pycuda:r32.7.1 (2023-12-06, 0.4GB)dustynv/pycuda:r35.2.1 (2023-09-07, 5.0GB)dustynv/pycuda:r35.3.1 (2023-08-29, 5.0GB)dustynv/pycuda:r35.4.1 (2023-12-06, 5.0GB)dustynv/pycuda:r36.2.0 (2023-12-06, 3.5GB)dustynv/pycuda:r36.4.0-cu128-24.04 (2025-03-03, 2.3GB) |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/pycuda:r32.7.1 |
2023-12-06 |
arm64 |
0.4GB |
dustynv/pycuda:r35.2.1 |
2023-09-07 |
arm64 |
5.0GB |
dustynv/pycuda:r35.3.1 |
2023-08-29 |
arm64 |
5.0GB |
dustynv/pycuda:r35.4.1 |
2023-12-06 |
arm64 |
5.0GB |
dustynv/pycuda:r36.2.0 |
2023-12-06 |
arm64 |
3.5GB |
dustynv/pycuda:r36.4.0-cu128-24.04 |
2025-03-03 |
arm64 |
2.3GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag pycuda)
# or explicitly specify one of the container images above
jetson-containers run dustynv/pycuda:r36.4.0-cu128-24.04
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/pycuda:r36.4.0-cu128-24.04
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag pycuda)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag pycuda) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build pycudaThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`deprecated/cuda/tensorrt/README.md`)
tensorrt
tensorrt:10.4 |
|
|---|---|
| Requires | L4T ['==r36.*', '==cu126', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python |
| Dockerfile | Dockerfile.tar |
tensorrt:10.5 |
|
|---|---|
| Requires | L4T ['==r36.*', '==cu126', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python |
| Dockerfile | Dockerfile.tar |
tensorrt:10.7 |
|
|---|---|
| Requires | L4T ['==r36.*', '==cu126', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python |
| Dockerfile | Dockerfile.tar |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/tensorrt:8.6-r36.2.0 |
2023-12-05 |
arm64 |
6.7GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag tensorrt)
# or explicitly specify one of the container images above
jetson-containers run dustynv/tensorrt:8.6-r36.2.0
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/tensorrt:8.6-r36.2.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag tensorrt)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag tensorrt) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build tensorrtThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/attention/ParaAttention/README.md`)
ParaAttention
https://github.com/chengzeyi/ParaAttention
paraattention:0.4.0 |
|
|---|---|
| Aliases | paraattention |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision torchaudio triton torchao huggingface_hub rust transformers diffusers xformers cuda-python cutlass flash-attention opengl llvm vulkan video-codec-sdk ffmpeg opencv |
| Dependants | comfyui l4t-diffusion lobechat sdnext |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag ParaAttention)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host ParaAttention:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag ParaAttention)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag ParaAttention) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build ParaAttentionThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/attention/block-sparse-attention/README.md`)
block-sparse-attention
block_sparse_attn:0.0.1 |
|
|---|---|
| Aliases | block_sparse_attn |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision torchaudio triton torchao huggingface_hub rust transformers diffusers xformers cuda-python cutlass flash-attention |
| Dependants | xattention:0.0.1 |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag block-sparse-attention)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host block-sparse-attention:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag block-sparse-attention)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag block-sparse-attention) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build block-sparse-attentionThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/attention/flash-attention/README.md`)
flash-attention
flash-attention:2.5.7 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 triton torchvision huggingface_hub rust transformers diffusers xformers cuda-python cutlass |
| Dockerfile | Dockerfile |
flash-attention:2.6.3 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 triton torchvision huggingface_hub rust transformers diffusers xformers cuda-python cutlass |
| Dockerfile | Dockerfile |
flash-attention:2.7.2.post1 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 triton torchvision huggingface_hub rust transformers diffusers xformers cuda-python cutlass |
| Dockerfile | Dockerfile |
flash-attention:2.7.4.post1 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 triton torchvision huggingface_hub rust transformers diffusers xformers cuda-python cutlass |
| Dockerfile | Dockerfile |
flash-attention:2.8.1 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 triton torchvision huggingface_hub rust transformers diffusers xformers cuda-python cutlass |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag flash-attention)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host flash-attention:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag flash-attention)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag flash-attention) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build flash-attentionThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/attention/flashinfer/README.md`)
flash-infer
flashinfer:0.2.1.post2 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch triton |
| Dependants | vllm:0.8.4 |
| Dockerfile | Dockerfile |
flashinfer:0.2.2 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch triton |
| Dockerfile | Dockerfile |
flashinfer:0.2.2.post1 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch triton |
| Dependants | vllm:v0.8.5.post1 |
| Dockerfile | Dockerfile |
flashinfer:0.2.6.post1 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch triton |
| Dependants | mlc:0.20.0 sglang:0.4.6 |
| Dockerfile | Dockerfile |
flashinfer:0.2.7 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch triton |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag flash-infer)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host flash-infer:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag flash-infer)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag flash-infer) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build flash-inferThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/attention/flexprefill/README.md`)
flexprefill
flexprefill:0.1.0 |
|
|---|---|
| Aliases | flexprefill |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision torchaudio triton torchao huggingface_hub rust transformers diffusers xformers cuda-python cutlass flash-attention |
| Dependants | comfyui cosmos-reason1 dynamo:0.3.2 l4t-diffusion l4t-dynamo llama-factory lobechat minference:0.1.7 sdnext sglang:0.4.4 sglang:0.4.6 sglang:0.4.9 vllm:0.7.4 vllm:0.8.4 vllm:0.9.0 vllm:0.9.2 vllm:0.9.3 vllm:v0.8.5.post1 |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag flexprefill)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host flexprefill:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag flexprefill)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag flexprefill) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build flexprefillThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/attention/huggingface_kernels/README.md`)
huggingface_kernels
huggingface_kernels:0.7.0 |
|
|---|---|
| Aliases | huggingface_kernels |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 triton huggingface_hub torchvision rust transformers diffusers xformers cuda-python cutlass flash-attention |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag huggingface_kernels)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host huggingface_kernels:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag huggingface_kernels)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag huggingface_kernels) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build huggingface_kernelsThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/attention/log-linear-attention/README.md`)
log-linear-attention
log-linear-attention:0.0.1 |
|
|---|---|
| Aliases | log-linear-attention |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 triton torchvision huggingface_hub rust transformers diffusers xformers ninja torchaudio causalconv1d mamba |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag log-linear-attention)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host log-linear-attention:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag log-linear-attention)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag log-linear-attention) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build log-linear-attentionThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/attention/radial-attention/README.md`)
radial-attention
radial-attention:0.1.0 |
|
|---|---|
| Aliases | radial-attention |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 triton torchvision huggingface_hub rust transformers diffusers xformers flashinfer |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag radial-attention)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host radial-attention:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag radial-attention)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag radial-attention) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build radial-attentionThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/attention/sage-attention/README.md`)
sage-attention
sage-attention:3.0.0 |
|
|---|---|
| Aliases | sage-attention |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision torchaudio triton torchao huggingface_hub rust transformers diffusers xformers cuda-python cutlass flash-attention opengl llvm vulkan video-codec-sdk ffmpeg opencv |
| Dependants | comfyui framepack l4t-diffusion lobechat sdnext |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag sage-attention)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host sage-attention:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag sage-attention)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag sage-attention) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build sage-attentionThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/attention/sparge-attention/README.md`)
sparge-attention
sparge-attention:0.1.0 |
|
|---|---|
| Aliases | sparge-attention |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision torchaudio triton torchao huggingface_hub rust transformers diffusers xformers cuda-python cutlass flash-attention opengl llvm vulkan video-codec-sdk ffmpeg opencv |
| Dependants | comfyui l4t-diffusion lobechat sdnext |
| Dockerfile | Dockerfile |
| Notes | https://github.com/thu-ml/SpargeAttn.git |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag sparge-attention)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host sparge-attention:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag sparge-attention)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag sparge-attention) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build sparge-attentionThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/attention/xattention/README.md`)
xattention
xattention:0.0.1 |
|
|---|---|
| Aliases | xattention |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision torchaudio triton torchao huggingface_hub rust transformers diffusers xformers cuda-python cutlass flash-attention opengl llvm vulkan video-codec-sdk ffmpeg opencv block_sparse_attn |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag xattention)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host xattention:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag xattention)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag xattention) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build xattentionThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/attention/xformers/README.md`)
xformers
xformers:0.0.33 |
|
|---|---|
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 triton torchvision huggingface_hub rust transformers diffusers |
| Dockerfile | Dockerfile |
| Notes | https://github.com/facebookresearch/xformers |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/xformers:r35.2.1 |
2023-12-06 |
arm64 |
5.8GB |
dustynv/xformers:r35.3.1 |
2023-12-14 |
arm64 |
5.8GB |
dustynv/xformers:r35.4.1 |
2024-01-09 |
arm64 |
5.9GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag xformers)
# or explicitly specify one of the container images above
jetson-containers run dustynv/xformers:r35.4.1
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/xformers:r35.4.1
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag xformers)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag xformers) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build xformersThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/code/jupyterlab/README.md`)
jupyterlab
Running the jupyerlab container will automatically start a JupyterLab server in the background on port 8888, with default login password nvidia. The JupyterLab server logs will be saved to /data/logs/jupyter.log if you need to inspect them (this location is automatically mounted under your jetson-containers/data directory)
To change the default settings, you can set the $JUPYTER_ROOT, $JUPYTER_PORT, $JUPYTER_PASSWORD, and $JUPYTER_LOG environment variables when starting the container like so:
jetson-containers run \
--env JUPYTER_ROOT=/home/user \
--env JUPYTER_PORT=8000 \
--env JUPYTER_PASSWORD=password \
--env JUPYTER_LOGS=/dev/null \
$(autotag jupyterlab)The /start_jupyter script is the default CMD that the container runs when it starts - however, if you don't want the JupyterLab server started by default, you can either add a different CMD in your own Dockerfile, or override it at startup:
# skip straight to the terminal instead of starting JupyterLab first
jetson-containers run /bin/bashYou can then still manually run the /start_jupyter script later when desired.
jupyterlab:latest |
|
|---|---|
| Aliases | jupyterlab |
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt numpy cuda-python pycuda rust |
| Dependants | audiocraft diffusion_policy dli-nano-ai efficientvit jupyter_clickable_image_widget jupyterlab:latest-myst l4t-ml l4t-text-generation langchain:samples lerobot llama-index:samples openpi pytorch:2.1-all pytorch:2.2-all pytorch:2.3-all pytorch:2.3.1-all pytorch:2.4-all pytorch:2.5-all pytorch:2.6-all pytorch:2.7-all pytorch:2.8-all sam tam voice-pro voicecraft warp:1.7.0-all warp:1.8.1-all whisper |
| Dockerfile | Dockerfile |
| Notes | will autostart Jupyter server on port 8888 unless container entry CMD is overridden |
jupyterlab:latest-myst |
|
|---|---|
| Aliases | jupyterlab:myst |
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt numpy cuda-python pycuda rust jupyterlab:latest |
| Dependants | lerobot llama-index:samples openpi |
| Dockerfile | Dockerfile.myst |
| Notes | will autostart Jupyter server on port 8888 unless container entry CMD is overridden |
jupyterlab:4.2.0 |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt numpy cuda-python pycuda rust |
| Dependants | jupyterlab:4.2.0-myst |
| Dockerfile | Dockerfile |
| Notes | will autostart Jupyter server on port 8888 unless container entry CMD is overridden |
jupyterlab:4.2.0-myst |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt numpy cuda-python pycuda rust jupyterlab:4.2.0 |
| Dockerfile | Dockerfile.myst |
| Notes | will autostart Jupyter server on port 8888 unless container entry CMD is overridden |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/jupyterlab:r32.7.1 |
2024-03-07 |
arm64 |
0.7GB |
dustynv/jupyterlab:r35.2.1 |
2023-12-06 |
arm64 |
5.3GB |
dustynv/jupyterlab:r35.3.1 |
2024-03-07 |
arm64 |
5.4GB |
dustynv/jupyterlab:r35.4.1 |
2023-10-07 |
arm64 |
5.3GB |
dustynv/jupyterlab:r36.2.0 |
2024-03-07 |
arm64 |
0.6GB |
dustynv/jupyterlab:r36.4.0 |
2025-03-10 |
arm64 |
5.8GB |
dustynv/jupyterlab:r36.4.0-cu128-24.04 |
2025-03-03 |
arm64 |
5.1GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag jupyterlab)
# or explicitly specify one of the container images above
jetson-containers run dustynv/jupyterlab:r36.4.0
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/jupyterlab:r36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag jupyterlab)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag jupyterlab) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build jupyterlabThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/code/vscode/README.md`)
vscode
vscode |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache python |
| Dockerfile | Dockerfile |
| Notes | installs portable build of VSCode inside container |
vscode:cuda |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 python cuda:12.6 cudnn:9.3 tensorrt |
| Dockerfile | Dockerfile |
| Notes | installs portable build of VSCode inside container |
vscode:torch |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 python cuda:12.6 cudnn:9.3 numpy cmake onnx pytorch:2.8 torchvision torchaudio triton torchao tensorrt torch2trt |
| Dockerfile | Dockerfile |
| Notes | installs portable build of VSCode inside container |
vscode:transformers |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 python cuda:12.6 cudnn numpy cmake onnx pytorch:2.8 torchvision huggingface_hub rust transformers triton diffusers xformers cuda-python cutlass flash-attention bitsandbytes |
| Dockerfile | Dockerfile |
| Notes | installs portable build of VSCode inside container |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag vscode)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host vscode:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag vscode)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag vscode) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build vscodeThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/cuda/cuda-python/README.md`)
cuda-python
cuda-python:12.2 |
|
|---|---|
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu122 cuda:12.2 python numpy |
| Dockerfile | Dockerfile |
cuda-python:12.4 |
|
|---|---|
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu124 cuda:12.4 python numpy |
| Dockerfile | Dockerfile |
cuda-python:12.8 |
|
|---|---|
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu128 cuda:12.8 python numpy |
| Dockerfile | Dockerfile |
cuda-python:12.9 |
|
|---|---|
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu129 cuda:12.9 python numpy |
| Dockerfile | Dockerfile |
cuda-python:13.0 |
|
|---|---|
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu130 cuda:13.0 python numpy |
| Dockerfile | Dockerfile |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/cuda-python:builder-r35.4.1 |
2024-03-26 |
arm64 |
5.1GB |
dustynv/cuda-python:builder-r36.2.0 |
2024-03-11 |
arm64 |
3.6GB |
dustynv/cuda-python:r35.2.1 |
2023-12-06 |
arm64 |
5.0GB |
dustynv/cuda-python:r35.3.1 |
2023-08-29 |
arm64 |
5.0GB |
dustynv/cuda-python:r35.4.1 |
2023-12-06 |
arm64 |
5.0GB |
dustynv/cuda-python:r36.2.0 |
2023-12-06 |
arm64 |
3.5GB |
dustynv/cuda-python:r36.4.0-cu128-24.04 |
2025-03-03 |
arm64 |
2.3GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag cuda-python)
# or explicitly specify one of the container images above
jetson-containers run dustynv/cuda-python:r36.4.0-cu128-24.04
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/cuda-python:r36.4.0-cu128-24.04
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag cuda-python)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag cuda-python) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build cuda-pythonThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/cuda/cuda/README.md`)
cuda
cuda:12.2 |
|
|---|---|
| Requires | L4T ['==36.*', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu122 |
| Dependants | cuda-python:12.2 cuda:12.2-samples cudnn:8.9 |
| Dockerfile | Dockerfile |
| Images | dustynv/cuda:12.2-r36.2.0 (2023-12-05, 3.4GB)dustynv/cuda:12.2-samples-r36.2.0 (2023-12-07, 4.8GB) |
pip_cache:cu122 |
|
|---|---|
| Requires | L4T ['==36.*'] |
| Dependencies | |
| Dependants | cuda-python:12.2 cuda:12.2 cuda:12.2-samples cudnn:8.9 |
| Dockerfile | Dockerfile.pip |
cuda:12.2-samples |
|
|---|---|
| Requires | L4T ['==36.*'] |
| Dependencies | build-essential pip_cache:cu122 cuda:12.2 python cmake |
| Dockerfile | Dockerfile.samples |
| Images | dustynv/cuda:12.2-samples-r36.2.0 (2023-12-07, 4.8GB) |
| Notes | CUDA samples from https://github.com/NVIDIA/cuda-samples installed under /opt/cuda-samples |
cuda:12.4 |
|
|---|---|
| Requires | L4T ['==36.*', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu124 |
| Dependants | cuda-python:12.4 cuda:12.4-samples cudnn:9.0 |
| Dockerfile | Dockerfile |
pip_cache:cu124 |
|
|---|---|
| Requires | L4T ['==36.*'] |
| Dependencies | |
| Dependants | cuda-python:12.4 cuda:12.4 cuda:12.4-samples cudnn:9.0 |
| Dockerfile | Dockerfile.pip |
cuda:12.4-samples |
|
|---|---|
| Requires | L4T ['==36.*'] |
| Dependencies | build-essential pip_cache:cu124 cuda:12.4 python cmake |
| Dockerfile | Dockerfile.samples |
| Notes | CUDA samples from https://github.com/NVIDIA/cuda-samples installed under /opt/cuda-samples |
cuda:12.6-samples |
|
|---|---|
| Aliases | cuda:samples |
| Requires | L4T ['==36.*'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 python cmake opengl llvm vulkan |
| Dockerfile | Dockerfile.samples |
| Notes | CUDA samples from https://github.com/NVIDIA/cuda-samples installed under /opt/cuda-samples |
cuda:12.8 |
|
|---|---|
| Requires | L4T ['>=36', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu128 |
| Dependants | cuda-python:12.8 cuda:12.8-samples cudnn:9.8 |
| Dockerfile | Dockerfile |
pip_cache:cu128 |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | |
| Dependants | cuda-python:12.8 cuda:12.8 cuda:12.8-samples cudnn:9.8 |
| Dockerfile | Dockerfile.pip |
cuda:12.8-samples |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu128 cuda:12.8 python cmake opengl llvm vulkan |
| Dockerfile | Dockerfile.samples |
| Notes | CUDA samples from https://github.com/NVIDIA/cuda-samples installed under /opt/cuda-samples |
cuda:12.9 |
|
|---|---|
| Requires | L4T ['>=36', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu129 |
| Dependants | cuda-python:12.9 cuda:12.9-samples cudnn:9.10 |
| Dockerfile | Dockerfile |
| Images | dustynv/cuda:12.9-samples-amd64-cu128-24.04 (2025-04-02, 5.7GB)dustynv/cuda:12.9-samples-r36.4.0-cu128-24.04 (2025-04-02, 2.8GB) |
pip_cache:cu129 |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | |
| Dependants | cuda-python:12.9 cuda:12.9 cuda:12.9-samples cudnn:9.10 |
| Dockerfile | Dockerfile.pip |
cuda:12.9-samples |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu129 cuda:12.9 python cmake opengl llvm vulkan |
| Dockerfile | Dockerfile.samples |
| Images | dustynv/cuda:12.9-samples-amd64-cu128-24.04 (2025-04-02, 5.7GB)dustynv/cuda:12.9-samples-r36.4.0-cu128-24.04 (2025-04-02, 2.8GB) |
| Notes | CUDA samples from https://github.com/NVIDIA/cuda-samples installed under /opt/cuda-samples |
cuda:13.0 |
|
|---|---|
| Requires | L4T ['>=36', 'aarch64'] |
| Dependencies | build-essential pip_cache:cu130 |
| Dependants | cuda-python:13.0 cuda:13.0-samples cudnn:10.0 |
| Dockerfile | Dockerfile |
pip_cache:cu130 |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | |
| Dependants | cuda-python:13.0 cuda:13.0 cuda:13.0-samples cudnn:10.0 |
| Dockerfile | Dockerfile.pip |
cuda:13.0-samples |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu130 cuda:13.0 python cmake opengl llvm vulkan |
| Dockerfile | Dockerfile.samples |
| Notes | CUDA samples from https://github.com/NVIDIA/cuda-samples installed under /opt/cuda-samples |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/cuda:12.2-r36.2.0 |
2023-12-05 |
arm64 |
3.4GB |
dustynv/cuda:12.2-samples-r36.2.0 |
2023-12-07 |
arm64 |
4.8GB |
dustynv/cuda:12.9-samples-amd64-cu128-24.04 |
2025-04-02 |
amd64 |
5.7GB |
dustynv/cuda:12.9-samples-r36.4.0-cu128-24.04 |
2025-04-02 |
arm64 |
2.8GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag cuda)
# or explicitly specify one of the container images above
jetson-containers run dustynv/cuda:12.9-samples-r36.4.0-cu128-24.04
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/cuda:12.9-samples-r36.4.0-cu128-24.04
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag cuda)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag cuda) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build cudaThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/cuda/cudastack/README.md`)
CUDA Stack - Consolidated Library Installation
What is cudastack?
cudastack is a consolidation package that installs multiple CUDA libraries (cuDNN, NCCL, TensorRT, CUTLASS, etc.) in ONE RUN command to avoid Docker's "max depth exceeded" error.
Important: cudastack vs cuda
cuda/ cudastack/
├── Dockerfile ├── Dockerfile (ONE RUN for all libs)
├── Dockerfile.pip ├── config.py (variants)
├── Dockerfile.builtin └── install/ & build/ scripts
├── Dockerfile.samples
└── config.py
├── cuda_package() cudastack DEPENDS ON cuda
├── cuda_builtin() (doesn't replace it!)
├── cuda_samples()
└── pip_cache()Key Points:
- ✅
cudapackage - Installs CUDA toolkit, provides pip_cache, samples, builtin variants - ✅
cudastackpackage - Builds ON TOP ofcuda, adds cuDNN/NCCL/TensorRT/etc. in ONE layer - ✅ pip_cache, cuda_samples, cuda_builtin - Still work! They're part of
cuda, notcudastack
The Problem It Solves
Before (Separate Packages):
Layer 1: cuda
Layer 2: cudnn
Layer 3: tensorrt
Layer 4: nccl
Layer 5: cutlass
...
Layer 50+: "max depth exceeded" ❌After (cudastack):
Layer 1: cuda (with pip_cache, samples, etc.)
Layer 2: cudastack (cudnn + nccl + tensorrt + cutlass in ONE RUN)
Layer 3: your-app
Result: Works! ✅Architecture
BASE_IMAGE
↓
cuda:12.4 (from cuda/Dockerfile)
├── pip_cache:cu124 (from cuda/Dockerfile.pip)
└── cuda:12.4-samples (from cuda/Dockerfile.samples)
↓
cudastack:minimal (from cudastack/Dockerfile)
├── cuDNN
├── NCCL
└── (all installed in ONE RUN)
↓
your-appVariants
| Variant | Includes | Use Case |
|---|---|---|
cudastack:minimal |
cuDNN + NCCL | Training, inference |
cudastack:standard |
+ TensorRT | Optimized inference |
cudastack:full |
+ CUTLASS + GDRCopy | Research, development |
Usage
Build with jetson-containers:
# Build minimal stack
./build.sh cudastack:minimal
# Build standard (with TensorRT)
./build.sh cudastack:standard
# Build full (with CUTLASS)
./build.sh cudastack:full
# Use as base for your app
./build.sh --base cudastack:minimal pytorchThe cudastack Dockerfile does ONE RUN:
# Copy all install/build scripts
COPY install/*.sh /tmp/cudastack/install/
COPY build/*.sh /tmp/cudastack/build/
# ONE RUN command calls all scripts conditionally
RUN set -ex && \
if [ "$WITH_CUDNN" = "1" ]; then \
./install/install_cudnn.sh; \
fi && \
if [ "$WITH_NCCL" = "1" ]; then \
./install/install_nccl.sh; \
fi && \
if [ "$WITH_TENSORRT" = "1" ]; then \
./install/install_tensorrt.sh; \
fi && \
# ... more components ...
rm -rf /tmp/cudastackKey: All library installations happen in this ONE RUN = ONE Docker layer!
Setup
The install scripts need to be populated from existing packages:
cd packages/cuda/cudastack
./setup-scripts.shThen review and complete the scripts in install/ and build/.
What About pip_cache, samples, builtin?
These are still available from the cuda package:
# pip_cache is automatically included by cuda package
./build.sh cuda:12.4
# This creates both:
# - cuda:12.4 (main CUDA toolkit)
# - pip_cache:cu124 (pip caching)
# CUDA samples work as before
./build.sh cuda:12.4-samples
# Builtin works as before (for JetPack 4-5)
./build.sh cuda:11.4 # Uses Dockerfile.builtin when CUDA pre-installedThe cuda package's config.py returns multiple packages:
# In cuda/config.py
def cuda_package(version, url, ...):
cuda = package.copy()
cuda['name'] = f'cuda:{version}'
cuda_pip = pip_cache(version, requires) # Creates pip_cache package
return cuda, cuda_pip # Returns TWO packages!cudastack doesn't need to duplicate this - it just depends on cuda being installed first.
Component Toggles
Controlled by WITH_* build args (set in config.py):
- ✅
WITH_CUDNN=1- cuDNN (always on) - ✅
WITH_NCCL=1- NCCL (always on) - 🎛️
WITH_TENSORRT- TensorRT (on in standard/full) - 🎛️
WITH_CUTLASS- CUTLASS (on in full only) - 🎛️
WITH_GDRCOPY- GDRCopy (on for Tegra) - ⚙️
WITH_CUDSS=0- cuDSS (off by default) - ⚙️
WITH_CUSPARSELT=0- cuSPARSELt (off by default) - ⚙️
WITH_CUTENSOR=0- cuTENSOR (off by default) - ⚙️
WITH_NVPL=0- NVPL (off by default) - ⚙️
WITH_NVSHMEM=0- NVSHMEM (off by default)
How config.py Works
Following the jetson-containers pattern:
def cuda_stack(name, with_tensorrt=False, with_cutlass=False, requires=None):
"""Generate a cudastack package variant"""
pkg = package.copy()
pkg['name'] = name
pkg['depends'] = ['cuda'] # Depends ON cuda, doesn't replace it
pkg['build_args'] = {
'WITH_CUDNN': '1',
'WITH_TENSORRT': '1' if with_tensorrt else '0',
'WITH_NCCL': '1',
# ... etc
}
return pkg
# Define variants
package = [
cuda_stack('cudastack:minimal', with_tensorrt=False),
cuda_stack('cudastack:standard', with_tensorrt=True),
cuda_stack('cudastack:full', with_tensorrt=True, with_cutlass=True),
]Comparison with Individual Packages
| Approach | Layers | Build Time | Complexity |
|---|---|---|---|
| Individual packages | 50+ | Longer | Simple per-package |
| cudastack (consolidated) | 2-3 | Faster | One complex layer |
Both approaches work! Use cudastack when you need multiple libraries and want to avoid layer limits.
See Also
- cuda package - CUDA toolkit, pip_cache, samples, builtin
- cudnn package - Individual cuDNN package
- tensorrt package - Individual TensorRT package (has Dockerfile.deb and Dockerfile.tar)
- nccl package - Individual NCCL package
Summary
✅ cudastack is a consolidation layer on top of cuda
✅ pip_cache, samples, builtin still work from the cuda package
✅ ONE RUN command installs all libraries to avoid layer limits
✅ Follows jetson-containers patterns with config.py and variants
Overview (`packages/cuda/cutlass/README.md`)
cutlass
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag cutlass)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host cutlass:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag cutlass)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag cutlass) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build cutlassThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/cuda/pycuda/README.md`)
pycuda
pycuda |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda python numpy |
| Dependants | audiocraft cv-cuda:0.15 diffusion_policy dli-nano-ai efficientvit jupyter_clickable_image_widget jupyterlab:4.2.0 jupyterlab:4.2.0-myst jupyterlab:latest jupyterlab:latest-myst l4t-diffusion l4t-dynamo l4t-ml l4t-pytorch l4t-tensorflow:tf1 l4t-tensorflow:tf2 l4t-text-generation langchain:samples lerobot llama-index:samples openpi pytorch:2.1-all pytorch:2.2-all pytorch:2.3-all pytorch:2.3.1-all pytorch:2.4-all pytorch:2.5-all pytorch:2.6-all pytorch:2.7-all pytorch:2.8-all sam stable-diffusion-webui tam voice-pro voicecraft warp:1.7.0-all warp:1.8.1-all whisper |
| Dockerfile | Dockerfile |
| Images | dustynv/pycuda:r32.7.1 (2023-12-06, 0.4GB)dustynv/pycuda:r35.2.1 (2023-09-07, 5.0GB)dustynv/pycuda:r35.3.1 (2023-08-29, 5.0GB)dustynv/pycuda:r35.4.1 (2023-12-06, 5.0GB)dustynv/pycuda:r36.2.0 (2023-12-06, 3.5GB)dustynv/pycuda:r36.4.0-cu128-24.04 (2025-03-03, 2.3GB) |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/pycuda:r32.7.1 |
2023-12-06 |
arm64 |
0.4GB |
dustynv/pycuda:r35.2.1 |
2023-09-07 |
arm64 |
5.0GB |
dustynv/pycuda:r35.3.1 |
2023-08-29 |
arm64 |
5.0GB |
dustynv/pycuda:r35.4.1 |
2023-12-06 |
arm64 |
5.0GB |
dustynv/pycuda:r36.2.0 |
2023-12-06 |
arm64 |
3.5GB |
dustynv/pycuda:r36.4.0-cu128-24.04 |
2025-03-03 |
arm64 |
2.3GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag pycuda)
# or explicitly specify one of the container images above
jetson-containers run dustynv/pycuda:r36.4.0-cu128-24.04
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/pycuda:r36.4.0-cu128-24.04
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag pycuda)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag pycuda) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build pycudaThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/cv/cv-cuda/README.md`)
cv-cuda
cv-cuda:0.15 |
|
|---|---|
| Aliases | cvcuda:0.15 cv-cuda cvcuda |
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision video-codec-sdk ffmpeg:git pyav pycuda |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag cv-cuda)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host cv-cuda:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag cv-cuda)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag cv-cuda) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build cv-cudaThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/cv/deepstream/README.md`)
deepstream
deepstream |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt cmake numpy opengl llvm vulkan video-codec-sdk ffmpeg opencv gstreamer tritonserver |
| Dockerfile | Dockerfile |
| Images | dustynv/deepstream:r32.7.1 (2024-03-06, 2.3GB)dustynv/deepstream:r35.2.1 (2023-12-22, 6.8GB)dustynv/deepstream:r35.3.1 (2024-03-05, 6.8GB)dustynv/deepstream:r35.4.1 (2023-12-06, 6.7GB)dustynv/deepstream:r36.2.0 (2024-03-05, 9.8GB) |
| Notes | https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_Quickstart.html |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/deepstream:r32.7.1 |
2024-03-06 |
arm64 |
2.3GB |
dustynv/deepstream:r35.2.1 |
2023-12-22 |
arm64 |
6.8GB |
dustynv/deepstream:r35.3.1 |
2024-03-05 |
arm64 |
6.8GB |
dustynv/deepstream:r35.4.1 |
2023-12-06 |
arm64 |
6.7GB |
dustynv/deepstream:r36.2.0 |
2024-03-05 |
arm64 |
9.8GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag deepstream)
# or explicitly specify one of the container images above
jetson-containers run dustynv/deepstream:r32.7.1
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/deepstream:r32.7.1
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag deepstream)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag deepstream) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build deepstreamThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/cv/holoscan/README.md`)
holoscan
holoscan |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python numpy cmake onnx pytorch cupy tensorrt ffmpeg |
| Dockerfile | Dockerfile |
| Images | dustynv/holoscan:r36.3.0 (2024-07-03, 6.9GB) |
| Notes | https://docs.nvidia.com/holoscan/sdk-user-guide/overview.html |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/holoscan:r36.3.0 |
2024-07-03 |
arm64 |
6.9GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag holoscan)
# or explicitly specify one of the container images above
jetson-containers run dustynv/holoscan:r36.3.0
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/holoscan:r36.3.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag holoscan)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag holoscan) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build holoscanThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/cv/jetson-inference/README.md`)
jetson-inference
jetson-inference:foxy |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg opencv pybind11 ros:foxy-desktop onnx pytorch:2.8 torchvision gstreamer jetson-inference:main |
| Dependants | nano_llm:24.4-foxy nano_llm:24.4.1-foxy nano_llm:24.5-foxy nano_llm:24.5.1-foxy nano_llm:24.6-foxy nano_llm:24.7-foxy nano_llm:main-foxy |
| Dockerfile | Dockerfile.ros |
jetson-inference:galactic |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg opencv pybind11 ros:galactic-desktop onnx pytorch:2.8 torchvision gstreamer jetson-inference:main |
| Dependants | nano_llm:24.4-galactic nano_llm:24.4.1-galactic nano_llm:24.5-galactic nano_llm:24.5.1-galactic nano_llm:24.6-galactic nano_llm:24.7-galactic nano_llm:main-galactic |
| Dockerfile | Dockerfile.ros |
jetson-inference:humble |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg opencv pybind11 ros:humble-desktop onnx pytorch:2.8 torchvision gstreamer jetson-inference:main |
| Dependants | nano_llm:24.4-humble nano_llm:24.4.1-humble nano_llm:24.5-humble nano_llm:24.5.1-humble nano_llm:24.6-humble nano_llm:24.7-humble nano_llm:main-humble |
| Dockerfile | Dockerfile.ros |
jetson-inference:iron |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg opencv pybind11 ros:iron-desktop onnx pytorch:2.8 torchvision gstreamer jetson-inference:main |
| Dependants | nano_llm:24.4-iron nano_llm:24.4.1-iron nano_llm:24.5-iron nano_llm:24.5.1-iron nano_llm:24.6-iron nano_llm:24.7-iron nano_llm:main-iron |
| Dockerfile | Dockerfile.ros |
jetson-inference:jazzy |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg opencv pybind11 ros:jazzy-desktop onnx pytorch:2.8 torchvision gstreamer jetson-inference:main |
| Dockerfile | Dockerfile.ros |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/jetson-inference:22.06 |
2022-09-30 |
amd64 |
6.5GB |
dustynv/jetson-inference:r32.4.3 |
2020-10-27 |
arm64 |
0.9GB |
dustynv/jetson-inference:r32.4.4 |
2021-11-16 |
arm64 |
0.9GB |
dustynv/jetson-inference:r32.5.0 |
2021-08-09 |
arm64 |
0.9GB |
dustynv/jetson-inference:r32.6.1 |
2021-08-24 |
arm64 |
0.9GB |
dustynv/jetson-inference:r32.7.1 |
2023-05-15 |
arm64 |
1.1GB |
dustynv/jetson-inference:r34.1.0 |
2022-04-08 |
arm64 |
5.9GB |
dustynv/jetson-inference:r34.1.1 |
2023-03-18 |
arm64 |
6.1GB |
dustynv/jetson-inference:r35.1.0 |
2023-05-15 |
arm64 |
6.1GB |
dustynv/jetson-inference:r35.2.1 |
2023-05-15 |
arm64 |
6.0GB |
dustynv/jetson-inference:r35.3.1 |
2023-05-15 |
arm64 |
5.6GB |
dustynv/jetson-inference:r35.4.1 |
2023-08-30 |
arm64 |
5.7GB |
dustynv/jetson-inference:r36.2.0 |
2024-06-20 |
arm64 |
7.2GB |
dustynv/jetson-inference:r36.3.0 |
2024-06-20 |
arm64 |
7.2GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag jetson-inference)
# or explicitly specify one of the container images above
jetson-containers run dustynv/jetson-inference:r36.2.0
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/jetson-inference:r36.2.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag jetson-inference)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag jetson-inference) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build jetson-inferenceThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/cv/opencv/README.md`)
opencv
opencv:4.8.1 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg |
| Dockerfile | Dockerfile |
| Images | dustynv/opencv:4.8.1-r36.2.0 (2023-12-07, 5.1GB) |
| Notes | https://github.com/opencv/opencv-python |
opencv:4.8.1-meta |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg |
| Dockerfile | Dockerfile.meta |
| Notes | https://github.com/opencv/opencv-python |
opencv:4.10.0-meta |
|
|---|---|
| Aliases | opencv:meta |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg |
| Dockerfile | Dockerfile.meta |
| Notes | https://github.com/opencv/opencv-python |
opencv:4.11.0 |
|
|---|---|
| Aliases | opencv |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg |
| Dockerfile | Dockerfile |
| Images | dustynv/opencv:4.11.0-amd64-cu128-24.04 (2025-04-21, 6.9GB)dustynv/opencv:4.11.0-r36.4.0-cu128-24.04 (2025-03-02, 3.3GB) |
| Notes | https://github.com/opencv/opencv-python |
opencv:4.11.0-meta |
|
|---|---|
| Aliases | opencv:meta |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg |
| Dockerfile | Dockerfile.meta |
| Notes | https://github.com/opencv/opencv-python |
opencv:4.12.0 |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg |
| Dockerfile | Dockerfile |
| Notes | https://github.com/opencv/opencv-python |
opencv:4.12.0-meta |
|
|---|---|
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg |
| Dockerfile | Dockerfile.meta |
| Notes | https://github.com/opencv/opencv-python |
opencv:4.8.1-deb |
|
|---|---|
| Aliases | opencv:deb |
| Requires | L4T ['==36.*'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg |
| Dockerfile | Dockerfile |
| Notes | https://github.com/opencv/opencv-python |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/opencv:4.11.0-amd64-cu128-24.04 |
2025-04-21 |
amd64 |
6.9GB |
dustynv/opencv:4.11.0-r36.4.0-cu128-24.04 |
2025-03-02 |
arm64 |
3.3GB |
dustynv/opencv:4.8.1-r36.2.0 |
2023-12-07 |
arm64 |
5.1GB |
dustynv/opencv:r32.7.1 |
2023-12-06 |
arm64 |
0.5GB |
dustynv/opencv:r35.2.1 |
2023-12-05 |
arm64 |
5.0GB |
dustynv/opencv:r35.3.1 |
2023-08-29 |
arm64 |
5.1GB |
dustynv/opencv:r35.4.1 |
2023-10-07 |
arm64 |
5.0GB |
dustynv/opencv:r36.3.0 |
2024-10-15 |
arm64 |
5.4GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag opencv)
# or explicitly specify one of the container images above
jetson-containers run dustynv/opencv:4.11.0-amd64-cu128-24.04
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/opencv:4.11.0-amd64-cu128-24.04
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag opencv)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag opencv) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build opencvThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/cv/vpi/README.md`)
vpi
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag vpi)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host vpi:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag vpi)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag vpi) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build vpiThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/hw/canable/README.md`)
canable
canable |
|
|---|---|
| Aliases | cannable |
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential |
| Dockerfile | Dockerfile |
| Notes | Kernel module builder for CANable USB-to-CAN bus adapter (canable.io) |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag canable)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host canable:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag canable)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag canable) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build canableThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/hw/canbus/README.md`)
canbus
canbus |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache python |
| Dependants | cangaroo |
| Dockerfile | Dockerfile |
| Notes | CAN bus utilities for Linux and Python |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag canbus)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host canbus:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag canbus)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag canbus) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build canbusThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/hw/cangaroo/README.md`)
cangaroo
cangaroo |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache python canbus cmake |
| Dockerfile | Dockerfile |
| Notes | CAN bus analyzer (github.com/normaldotcom/cangaroo) |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag cangaroo)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host cangaroo:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag cangaroo)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag cangaroo) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build cangarooThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/hw/jetcam/README.md`)
jetcam
jetcam |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg opencv gstreamer |
| Dependants | dli-nano-ai |
| Dockerfile | Dockerfile |
| Notes | https://github.com/NVIDIA-AI-IOT/jetcam |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag jetcam)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host jetcam:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag jetcam)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag jetcam) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build jetcamThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/hw/jupyter_clickable_image_widget/README.md`)
jupyter_clickable_image_widget
jupyter_clickable_image_widget |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt numpy cuda-python pycuda rust jupyterlab |
| Dependants | dli-nano-ai |
| Dockerfile | Dockerfile |
| Notes | https://github.com/jaybdub/jupyter_clickable_image_widget |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag jupyter_clickable_image_widget)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host jupyter_clickable_image_widget:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag jupyter_clickable_image_widget)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag jupyter_clickable_image_widget) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build jupyter_clickable_image_widgetThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/hw/librealsense/README.md`)
realsense
realsense |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential pip_cache:cu126 cuda python cmake |
| Dockerfile | Dockerfile |
| Images | dustynv/realsense:r32.7.1 (2024-02-22, 0.8GB)dustynv/realsense:r35.2.1 (2023-08-29, 5.5GB)dustynv/realsense:r35.3.1 (2024-02-22, 5.4GB)dustynv/realsense:r35.4.1 (2023-10-07, 5.5GB)dustynv/realsense:r36.2.0 (2024-02-22, 4.0GB) |
| Notes | https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/realsense:r32.7.1 |
2024-02-22 |
arm64 |
0.8GB |
dustynv/realsense:r35.2.1 |
2023-08-29 |
arm64 |
5.5GB |
dustynv/realsense:r35.3.1 |
2024-02-22 |
arm64 |
5.4GB |
dustynv/realsense:r35.4.1 |
2023-10-07 |
arm64 |
5.5GB |
dustynv/realsense:r36.2.0 |
2024-02-22 |
arm64 |
4.0GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag realsense)
# or explicitly specify one of the container images above
jetson-containers run dustynv/realsense:r36.2.0
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/realsense:r36.2.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag realsense)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag realsense) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build realsenseThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/hw/oled/README.md`)
oled
oled |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | |
| Dockerfile | Dockerfile |
| Notes | https://github.com/NVIDIA-AI-IOT/jetcard/ |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag oled)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host oled:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag oled)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag oled) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build oledThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/hw/pl2303/README.md`)
pl2303
pl2303 |
|
|---|---|
| Requires | L4T ['>=32.6'] |
| Dependencies | build-essential |
| Dockerfile | Dockerfile |
| Notes | Kernel module builder for PL2303 serial-to-USB converter |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag pl2303)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host pl2303:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag pl2303)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag pl2303) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build pl2303The dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/hw/zed/README.md`)
zed
zed:5.0 |
|
|---|---|
| Aliases | zed |
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt opengl |
| Dockerfile | Dockerfile |
| Notes | Stereolabs ZED SDK |
zed:5.0-humble |
|
|---|---|
| Aliases | zed-humble |
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg opencv pybind11 ros:humble-desktop vpi |
| Dockerfile | /home/narandill/Projects/fph/Internal-AI-Base-Station-Server/third_party/jetson-containers/packages/robots/ros/Dockerfile.ros2.extras |
| Notes | Stereolabs ZED SDK |
zed:5.0-jazzy |
|
|---|---|
| Aliases | zed-jazzy |
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn:9.3 python tensorrt numpy opengl cmake llvm vulkan video-codec-sdk ffmpeg opencv pybind11 ros:jazzy-desktop vpi |
| Dockerfile | /home/narandill/Projects/fph/Internal-AI-Base-Station-Server/third_party/jetson-containers/packages/robots/ros/Dockerfile.ros2.extras |
| Notes | Stereolabs ZED SDK |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/zed:r32.7.1 |
2023-09-07 |
arm64 |
0.6GB |
dustynv/zed:r35.2.1 |
2023-12-11 |
arm64 |
5.2GB |
dustynv/zed:r35.3.1 |
2023-08-29 |
arm64 |
5.2GB |
dustynv/zed:r35.4.1 |
2023-10-07 |
arm64 |
5.1GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag zed)
# or explicitly specify one of the container images above
jetson-containers run dustynv/zed:r35.2.1
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/zed:r35.2.1
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag zed)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag zed) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build zedThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/llm/awq/README.md`)
awq
- AWQ from https://github.com/mit-han-lab/llm-awq (installed under
/opt/awq) - AWQ's CUDA kernels require a GPU with
sm_75or newer (so for Jetson, Orin only)
Quantization
Follow the instructions from https://github.com/mit-han-lab/llm-awq#usage to quantize your model of choice. Or use awq/quantize.py
./run.sh --env HUGGINGFACE_TOKEN=<YOUR-ACCESS-TOKEN> $(./autotag awq) /bin/bash -c \
'/opt/awq/quantize.py --model=$(huggingface-downloader meta-llama/Llama-2-7b-hf) \
--output=/data/models/awq/Llama-2-7b'If you downloaded a model from the AWQ Model Zoo that already has the AWQ search results applied, you can load that with --load_awq and skip the search step (which can take a while and use lots of memory)
./run.sh --env HUGGINGFACE_TOKEN=<YOUR-ACCESS-TOKEN> $(./autotag awq) /bin/bash -c \
'/opt/awq/quantize.py --model=$(huggingface-downloader meta-llama/Llama-2-7b-hf) \
--output=/data/models/awq/Llama-2-7b \
--load_awq=/data/models/awq/Llama-2-7b/llama-2-7b-w4-g128.pt'This process will save the model with the real quantized weights (to a file like $OUTPUT/w4-g128-awq.pt)
Inference Benchmark
You can use the awq/benchmark.py tool to gather performance and memory measurements:
./run.sh --env HUGGINGFACE_TOKEN=<YOUR-ACCESS-TOKEN> $(./autotag awq) /bin/bash -c \
'/opt/awq/benchmark.py --model=$(huggingface-downloader meta-llama/Llama-2-7b-hf) \
--quant=/data/models/awq/Llama-2-7b/w4-g128-awq.pt'Make sure that you load the output from the quantization steps above with --quant (use the model that ends with -awq.pt)
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/awq:r35.2.1 |
2023-12-14 |
arm64 |
6.1GB |
dustynv/awq:r35.3.1 |
2023-12-15 |
arm64 |
6.1GB |
dustynv/awq:r35.4.1 |
2023-12-12 |
arm64 |
6.1GB |
dustynv/awq:r36.2.0 |
2023-12-15 |
arm64 |
7.8GB |
dustynv/awq:r36.4.0 |
2025-02-02 |
arm64 |
5.3GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag awq)
# or explicitly specify one of the container images above
jetson-containers run dustynv/awq:r36.4.0
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/awq:r36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag awq)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag awq) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build awqThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/llm/bitsandbytes/README.md`)
bitsandbytes
bitsandbytes:0.39.1 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision huggingface_hub rust transformers triton |
| Dockerfile | Dockerfile |
| Notes | https://github.com/bitsandbytes-foundation/bitsandbytes |
bitsandbytes:0.45.4 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision huggingface_hub rust transformers triton |
| Dockerfile | Dockerfile |
| Images | dustynv/bitsandbytes:0.45.4-r36.4.0-cu128-24.04 (2025-03-03, 4.4GB) |
| Notes | https://github.com/bitsandbytes-foundation/bitsandbytes |
bitsandbytes:0.45.5 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision huggingface_hub rust transformers triton |
| Dockerfile | Dockerfile |
| Notes | https://github.com/bitsandbytes-foundation/bitsandbytes |
bitsandbytes:0.46.0 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision huggingface_hub rust transformers triton |
| Dockerfile | Dockerfile |
| Notes | https://github.com/bitsandbytes-foundation/bitsandbytes |
bitsandbytes:0.48.0 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision huggingface_hub rust transformers triton |
| Dockerfile | Dockerfile |
| Notes | https://github.com/bitsandbytes-foundation/bitsandbytes |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/bitsandbytes:0.45.4-r36.4.0-cu128-24.04 |
2025-03-03 |
arm64 |
4.4GB |
dustynv/bitsandbytes:r35.2.1 |
2023-12-15 |
arm64 |
5.9GB |
dustynv/bitsandbytes:r35.3.1 |
2023-12-11 |
arm64 |
6.0GB |
dustynv/bitsandbytes:r35.4.1 |
2023-12-14 |
arm64 |
5.9GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag bitsandbytes)
# or explicitly specify one of the container images above
jetson-containers run dustynv/bitsandbytes:0.45.4-r36.4.0-cu128-24.04
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/bitsandbytes:0.45.4-r36.4.0-cu128-24.04
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag bitsandbytes)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag bitsandbytes) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build bitsandbytesThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/llm/deepspeed/README.md`)
deepspeed
deepspeed:0.15.2 |
|
|---|---|
| Aliases | deepspeed |
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision huggingface_hub rust transformers deepspeed-kernels triton |
| Dependants | llama-factory |
| Dockerfile | Dockerfile |
deepspeed:0.18.0 |
|
|---|---|
| Requires | L4T ['>=35'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision huggingface_hub rust transformers deepspeed-kernels triton |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag deepspeed)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host deepspeed:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag deepspeed)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag deepspeed) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build deepspeedThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/llm/exllama/README.md`)
exllama
This package provides containers for both ExLlama and exllamav3:
exllamacontainer uses the https://github.com/jllllll/exllama fork of https://github.com/turboderp/exllama (installed under/opt/exllama)exllama:v2container uses https://github.com/turboderp/exllamav3 (installed under/opt/exllamav3)
Both loaders are also supported in the oobabooga text-generation-webui container.
Inference Benchmark
Substitute the GPTQ model from HuggingFace Hub that you want to run (see exllama compatible models)
./run.sh --workdir=/opt/exllama $(./autotag exllama) /bin/bash -c \
'python3 test_benchmark_inference.py --perf --validate -d $(huggingface-downloader TheBloke/Llama-2-7B-GPTQ)'If the model repository is private or requires authentication, add
--env HUGGINGFACE_TOKEN=<YOUR-ACCESS-TOKEN>
Memory Usage
| Model | Memory (MB) |
|---|---|
TheBloke/Llama-2-7B-GPTQ |
5,200 |
TheBloke/Llama-2-13B-GPTQ |
9,135 |
TheBloke/LLaMA-30b-GPTQ |
20,206 |
TheBloke/Llama-2-70B-GPTQ |
35,462 |
exllama:0.1 |
|
|---|---|
| Aliases | exllama |
| Requires | L4T ['>=36'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 huggingface_hub triton torchvision rust transformers diffusers xformers cuda-python cutlass flash-attention flash-attention |
| Dependants | l4t-text-generation text-generation-webui:1.7 text-generation-webui:6a7cd01 text-generation-webui:main |
| Dockerfile | Dockerfile |
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/exllama:r35.2.1 |
2023-12-15 |
arm64 |
5.5GB |
dustynv/exllama:r35.3.1 |
2023-12-11 |
arm64 |
5.5GB |
dustynv/exllama:r35.4.1 |
2023-12-14 |
arm64 |
5.4GB |
dustynv/exllama:v1-r36.2.0 |
2023-12-15 |
arm64 |
7.2GB |
dustynv/exllama:v2-r35.2.1 |
2023-12-15 |
arm64 |
5.5GB |
dustynv/exllama:v2-r35.3.1 |
2023-12-14 |
arm64 |
5.5GB |
dustynv/exllama:v2-r35.4.1 |
2023-12-12 |
arm64 |
5.5GB |
dustynv/exllama:v2-r36.2.0 |
2023-12-15 |
arm64 |
7.2GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag exllama)
# or explicitly specify one of the container images above
jetson-containers run dustynv/exllama:v1-r36.2.0
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/exllama:v1-r36.2.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag exllama)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag exllama) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build exllamaThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/llm/gptqmodel/README.md`)
gptqmodel
GPTQModel from https://github.com/ModelCloud/GPTQModel (installed under /opt/gptqmodel)
Inference Benchmark
Substitute the GPTQ model from HuggingFace Hub (or model path) that you want to run:
./run.sh --workdir=/opt/gptqmodel/examples/benchmark/ $(./autotag auto_gptq) \
python3 generation_speed.py --model_name_or_path TheBloke/LLaMA-7b-GPTQ --use_safetensors --max_new_tokens=128If you get the error Exllama kernel does not support query/key/value fusion with act-order, try adding --no_inject_fused_attention
gptqmodel:3.0.1 |
|
|---|---|
| Aliases | gptqmodel |
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision huggingface_hub rust transformers |
| Dependants | llama-factory |
| Dockerfile | Dockerfile |
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag gptqmodel)
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host gptqmodel:36.4.0
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag gptqmodel)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag gptqmodel) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build gptqmodelThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/llm/huggingface_hub/README.md`)
huggingface_hub
| Repository/Tag | Date | Arch | Size |
|---|---|---|---|
dustynv/huggingface_hub:r32.7.1 |
2023-12-15 |
arm64 |
0.4GB |
dustynv/huggingface_hub:r35.2.1 |
2023-12-15 |
arm64 |
5.0GB |
dustynv/huggingface_hub:r35.3.1 |
2023-09-07 |
arm64 |
5.0GB |
dustynv/huggingface_hub:r35.4.1 |
2023-10-07 |
arm64 |
5.0GB |
Container images are compatible with other minor versions of JetPack/L4T:
• L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
• L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)
To start the container, you can use jetson-containers run and autotag, or manually put together a docker run command:
# automatically pull or build a compatible container image
jetson-containers run $(autotag huggingface_hub)
# or explicitly specify one of the container images above
jetson-containers run dustynv/huggingface_hub:r35.2.1
# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/huggingface_hub:r35.2.1
jetson-containers runforwards arguments todocker runwith some defaults added (like--runtime nvidia, mounts a/datacache, and detects devices)autotagfinds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.
To mount your own directories into the container, use the -v or --volume flags:
jetson-containers run -v /path/on/host:/path/in/container $(autotag huggingface_hub)To launch the container running a command, as opposed to an interactive shell:
jetson-containers run $(autotag huggingface_hub) my_app --abc xyzYou can pass any options to it that you would to docker run, and it'll print out the full command that it constructs before executing it.
If you use autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the system setup, then run:
jetson-containers build huggingface_hubThe dependencies from above will be built into the container, and it'll be tested during. Run it with --help for build options.
Overview (`packages/llm/hymba/README.md`)
hymba
hymba |
|
|---|---|
| Requires | L4T ['>=34.1.0'] |
| Dependencies | build-essential pip_cache:cu126 cuda:12.6 cudnn python numpy cmake onnx pytorch:2.8 torchvision huggingface_hub rust transformers ninja [`tor |