SGLang
Use the Latest Release
We recommend using the latest stable release of Dynamo to avoid breaking changes.
Dynamo SGLang integrates SGLang engines into Dynamo’s distributed runtime, enabling disaggregated serving, KV-aware routing, and request cancellation while maintaining full compatibility with SGLang’s native engine arguments. It supports LLM inference, embedding models, multimodal vision models, and diffusion-based generation (LLM, image, video).
Prerequisites
-
CUDA toolkit headers for bare-metal builds (e.g.
nvcc,cuda_runtime.h). See CUDA Requirements. Not required when running the pre-builtsglang-runtimecontainer. -
HF_TOKENfor gated models. Export it on every node that pulls the model weights, and accept the model license on the Hugging Face model page before launch:
Installation
Install Latest Release
We recommend using uv to install:
This installs the latest stable release of Dynamo with the compatible SGLang version.
Install for Development
Development installation in a virtual environment (recommended)
Requires Rust and the CUDA toolkit (nvcc).
This is the ideal way for agents to develop. You can provide the path to both repos and the virtual environment and have it rerun these commands as it makes changes
Docker
Two paths are supported. Pick the one that matches how you plan to develop.
Pre-built Dynamo SGLang container (recommended)
Pull and launch the published sglang-runtime image from NGC. See release artifacts for the current tag and CUDA variants.
Mount the host Hugging Face cache (-v $HOME/.cache/huggingface:/home/dynamo/.cache/huggingface) so each container restart doesn’t re-download model weights. The container runs as user dynamo (UID 1000), which is why the in-container path is /home/dynamo/.cache/huggingface.
Build from source inside upstream SGLang container
Pull and launch the upstream SGLang image, then build Dynamo from source inside it:
Install build dependencies and Rust inside the container:
Clone and build Dynamo:
Feature Support Matrix
Quick Start
Python / CLI Deployment
Start infrastructure services for local development:
Launch an aggregated serving deployment:
Verify the deployment:
Disaggregated Serving
Launch a disaggregated Qwen3-0.6B deployment (smallest model, useful for plumbing validation):
Performance caveat: Qwen3-0.6B is small enough that the disaggregated pathway is dominated by transport overhead and will often look slower than aggregated. Use it for plumbing validation, not benchmarks. Switch to Qwen3-32B-FP8 or larger for realistic disagg numbers.
Multi-Node TP
SGLang supports multi-node tensor parallelism via the native --dist-init-addr, --nnodes, and --node-rank flags. See SGLang server arguments for the canonical reference; the same flags work with python -m dynamo.sglang. For a Kubernetes deployment example, see disagg-multinode.yaml.
Kubernetes Deployment
You can deploy SGLang with Dynamo on Kubernetes using a DynamoGraphDeployment. For more details, see the SGLang Kubernetes Deployment Guide.
Next Steps
- Reference Guide: Worker types, architecture, and configuration
- Examples: All deployment patterns with launch scripts
- Disaggregation: P/D architecture and KV transfer details
- Diffusion: LLM, image, and video diffusion models
- Observability: Metrics, tracing, and Grafana dashboards
- Deploying SGLang with Dynamo on Kubernetes: Kubernetes deployment guide