cudaq-guide
CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.
jetson-llm-serve
Stand up vLLM or SGLang serving on Jetson, using upstream vLLM on Thor and Orin JetPack 7.2+, and NVIDIA-AI-IOT vLLM on older Orin.
Full skill instructions
Encodes the Jetson AI Lab GenAI tutorial: on Orin JetPack 7.2 / L4T r39+, use upstream vLLM 0.20+ (vllm/vllm-openai:latest); on older Orin, pick the NVIDIA-AI-IOT prebuilt vLLM container; on Thor, use upstream vLLM 0.20+ or validated native vLLM 0.20+, and use NVIDIA SGLang 26.01 (nvcr.io/nvidia/sglang:26.01-py3, SGLang 0.5.5.post2) when SGLang is requested. Set MAXN, make Hugging Face credentials/cache available, and launch an OpenAI-compatible server. Works for both LLMs and VLMs.
Provide a Jetson-appropriate serving recipe for an LLM or VLM using vLLM or SGLang, including runtime path, launch command, endpoint, and verification step.
jetson-inference-mem-tune produced launch flags and the user wants to actually start the server.For recipe-only questions, answer from this document without starting containers. Run live pre-flight checks only when the user asks you to check this device or execute the deployment.
thor or orin) and the model identifier or local checkpoint path.HF_TOKEN only when the model is gated/private; public models should omit the token environment variable.jetson-inference-mem-tune first when memory headroom or launch flags are uncertain.For recipe questions, provide a complete launch recipe instead of trying to call
jetson-llm-serve as a tool. A complete answer includes:
vllm/vllm-openai:latest) or NVIDIA SGLang 26.01 (nvcr.io/nvidia/sglang:26.01-py3, SGLang 0.5.5.post2) on Thor, NVIDIA-AI-IOT vLLM container on older Orin, or upstream vLLM 0.20+ on Orin JetPack 7.2 / L4T r39+.docker run + server command sketch with --host 0.0.0.0 --port 8000.http://<jetson-ip>:8000/v1.curl http://localhost:8000/v1/models.For VLM questions, explicitly say the VLM uses the same vLLM serving flow as an
LLM with a different vision-language checkpoint. Do not omit vLLM or the
Jetson container when answering VLM prompts.
Use upstream vLLM 0.20+ on Thor (vllm/vllm-openai:latest, or a validated native vLLM 0.20+ install). On Orin JetPack 7.2 / L4T r39+, use upstream vLLM 0.20+ (vllm/vllm-openai:latest). On older Orin releases, use the NVIDIA-AI-IOT prebuilt vLLM image (packages) because it ships the correct CUDA / cuDNN / TensorRT stack for that JetPack. Use NVIDIA SGLang 26.01 (nvcr.io/nvidia/sglang:26.01-py3, SGLang 0.5.5.post2) on Thor when the user asks for SGLang, RAG, tool-use, or programmable serving; do not recommend native upstream SGLang on Orin unless a JetPack-matched release explicitly supports it.
| Jetson family | Runtime path |
|---|---|
| Thor (T5000, T4000) | upstream vLLM 0.20+ (vllm/vllm-openai:latest) or NVIDIA SGLang 26.01 (nvcr.io/nvidia/sglang:26.01-py3, SGLang 0.5.5.post2) |
| AGX Orin / Orin NX / Nano | Orin JetPack 7.2 / L4T r39+: upstream vLLM 0.20+ (vllm/vllm-openai:latest); older Orin: ghcr.io/nvidia-ai-iot/vllm:latest-jetson-orin |
To detect the silicon era for image tags:
. skills/jetson-diagnostic/scripts/detect_jetson.sh
JETSON_GENERATION (thor or orin) and choose the matching runtime path from the table above.JETSON_PRODUCT_LINE for a finer bucket such as thor-agx or orin-nano; JETSON_SKU remains the legacy identifier.Do not use bash skills/jetson-diagnostic/scripts/detect_jetson.sh when you need exported variables in the caller; running with bash uses a subshell.
sudo nvpmodel -m 0 && sudo jetson_clocks
Skip this only if the user explicitly asks for a power-constrained run; otherwise benchmark and serving numbers will be inconsistent.
On Thor with vLLM, use upstream vLLM 0.20+ (vllm/vllm-openai:latest) or a validated native vLLM 0.20+ install:
docker run --rm -it --runtime nvidia --network host --ipc host --name vllm \
-v "$HOME/.cache/huggingface:/root/.cache/huggingface" \
-e HF_TOKEN="$HF_TOKEN" \
vllm/vllm-openai:latest \
vllm serve <hf-repo-id> \
--host 0.0.0.0 --port 8000 \
--max-model-len 8192 \
--gpu-memory-utilization 0.75 \
--tensor-parallel-size 1
On Orin JetPack 7.2 / L4T r39+, use upstream vLLM 0.20+ (vllm/vllm-openai:latest). On older Orin releases, use the NVIDIA-AI-IOT container:
docker run --rm -it --runtime nvidia --network host --name vllm \
-v "$HOME/.cache/huggingface:/root/.cache/huggingface" \
-e HF_TOKEN="$HF_TOKEN" \
ghcr.io/nvidia-ai-iot/vllm:latest-jetson-orin \
vllm serve <hf-repo-id> \
--host 0.0.0.0 --port 8000 \
--max-model-len 4096 \
--gpu-memory-utilization 0.85 \
--tensor-parallel-size 1
HF_TOKEN is required only for gated/private Hugging Face models; omit the -e HF_TOKEN="$HF_TOKEN" line for public models that do not need Hub authentication. Passing HF_TOKEN as an environment variable can expose it through Docker inspect output, process metadata, or logs on shared systems. Prefer the narrowest-scoped token possible, rotate/revoke it after shared-container use, and use a mounted credential file or Docker secret when the deployment environment supports that pattern.
Wait for Application startup complete. Server is on http://0.0.0.0:8000/v1.
For SGLang on Thor, use NVIDIA SGLang 26.01 (nvcr.io/nvidia/sglang:26.01-py3), which packages SGLang 0.5.5.post2 and lists Jetson Thor support. Do not judge Thor SGLang support from older prerelease SGLang results:
docker run --rm -it --runtime nvidia --network host --ipc host --name sglang \
-v "$HOME/.cache/huggingface:/root/.cache/huggingface" \
-e HF_TOKEN="$HF_TOKEN" \
nvcr.io/nvidia/sglang:26.01-py3 \
python3 -m sglang.launch_server \
--model-path <hf-repo-id> \
--host 0.0.0.0 \
--port 8000 \
--mem-fraction-static 0.60 \
--max-running-requests 8
Use SGLang when the user needs RAG/tool-use workflows, structured generation, or SGLang-specific scheduling. For plain high-throughput OpenAI-compatible serving, prefer vLLM unless the user asks for SGLang.
| Knob | Orin Nano / NX | AGX Orin / Thor |
|---|---|---|
--max-model-len | 4096 | 8192 |
--gpu-memory-utilization | 0.85 | 0.85 |
--tensor-parallel-size | 1 | 1 |
If the server OOMs at startup, lower --gpu-memory-utilization by 0.05 and re-launch (or run jetson-inference-mem-tune for a workload-aware recommendation).
For vLLM and SGLang, choose checkpoint formats by Jetson family:
| Jetson family | First choice | Acceptable fallback |
|---|---|---|
| Thor | NVFP4 when the model/runtime supports it | W4A16 |
| Orin Nano / NX | W4A16 | AWQ or GPTQ 4-bit |
| AGX Orin | W4A16 | AWQ or GPTQ 4-bit |
For llama.cpp and Ollama, use GGUF model quantization names instead: recommend INT4 / Q4_K_M GGUF on both Orin and Thor, and choose a smaller INT4 GGUF model if memory is tight. Do not call GGUF Q4_K_M a W4A16/AWQ/GPTQ model. NVFP4 is Thor-preferred and Thor-tuned for runtimes that support it.
VLMs use the same flow as LLMs: same container, same vllm serve invocation, different vision-language checkpoint. The container handles image preprocessing. For a VLM-specific browser UI, use the live-vlm-webui container; for a generic chat UI for either, use Open WebUI pointed at http://<jetson-ip>:8000/v1.
Do not invent RAM totals, free-memory values, model sizes, JetPack versions, or
SKU/variant names when giving a serving recipe. If capacity matters, either run
the live pre-flight checks (when execution is allowed) or hand off to
jetson-inference-mem-tune / jetson-memory-audit. If live data is not
available, say the value is unknown and provide conservative defaults instead
of quoting a made-up number.
/proc/device-tree/model contains NVIDIA Jetson).nvpmodel -q reports a recognized max-performance mode: MAXN or MAXN_* such as MAXN_SUPER. Wattage-named modes should be reported as warnings unless the user explicitly confirms they are the intended benchmark mode for that device.nvidia-smi -L and nvidia-smi mig -lgi). If MIG is enabled, warn that vLLM/SGLang may see only a MIG slice or no CUDA device.sudo lsof /dev/nvidia*. Display managers, Xorg/GNOME, or nvargus-daemon may hold GPU device files; do not stop services or change MIG mode unless the user explicitly approves.vllm already running (docker ps --format '{{.Names}}'); otherwise docker rm -f vllm first.docker info | grep -i 'runtimes.*nvidia'), or a GPU-enabled container can run nvidia-smi.~/.cache/huggingface exists; HF_TOKEN is set if the model is gated.latest are mutable. For release or compliance deployments, pin a digest and record it with the deployment notes.jetson-inference-mem-tune when a command OOMs or memory headroom matters.gdm3 or nvargus-daemon requires explicit user approval.jetson-llm-benchmark to actually measure the deployed server.jetson-speculative-decoding to add EAGLE-3 / draft-model speculation by appending --speculative-config '{...}' to the vllm serve command above.jetson-inference-mem-tune if the server OOMs or is memory-bound.Jetson AI Lab — Introduction to GenAI on Jetson: How to Run LLMs and VLMs and NVIDIA-AI-IOT GHCR packages.
CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.
Use when the user wants to create a dataset, generate synthetic data, or build a data generation pipeline.
NVIDIA DeepStream SDK development with Python pyservicemaker API. Use when building video analytics pipelines, GStreamer-based video processing, TensorRT inference integration, object detection/tracking, or Kafka/message broker integration.
Filesystem RAG benchmarks: corpus/, train.json, evaluate_rag.py (RAGAS quality). Not for prod monitoring, latency/throughput benchmarking (use rag-perf), or evals outside this repo layout.
Use when the user wants to search, query, extract, transcribe, describe, quote, filter, or aggregate across documents — PDFs, scanned forms / images (`.jpg` `.png` `.tiff`), Office (`.docx` `.pptx`), text (`.html` `.txt`), audio (`.mp3` `.wav` `.m4a`), or video (`.mp4` `.mov`). Prefer this over native Read / Grep for multi-file or non-PDF corpora. Not for: editing files, web browsing, single-file plain-text lookups, fine-tuning.
Coordinate the end-to-end CAD/source-asset to SimReady workflow. Use for broad requests such as CAD to SimReady, source asset to simulation-ready USD, or prop packaging that require conversion, material/physics assignment, SimReady conformance, validation, and optional package creation; deploy or verify Content Agents services first when property assignment is enabled; route single-stage work through nested references.
Use this skill to bring any vision model from HuggingFace or NVIDIA NGC into an NVIDIA DeepStream pipeline with end-to-end automation: ONNX download, SafeTensors export, TRT engine build, custom nvinfer bbox parser, multi-stream benchmark, and PDF report. Object detection models only.
Top-level workflow skill for USD performance diagnosis and optimization. Handles slow loading, high memory, low FPS, and broad scene-optimization requests; delegates auth/runtime setup to Phase 0 owners.
Vehicle routing (VRP, TSP, PDP) with cuOpt — Python API only. Use when the user is building or solving routing in Python.
Use only to generate or update a governance skill card for a specified existing agent skill directory. Do not use for explaining, listing, comparing, or discussing skill capabilities.
Use as the top-level router for Omniverse Realtime Viewer USD app requests and focused viewer reference documents.
Performance benchmarking for a deployed NVIDIA RAG Blueprint server: profiling pass + aiperf load test driven by a single YAML config. Not for accuracy / RAGAS scoring (use rag-eval) or for deploying / repairing services (use rag-blueprint).
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience