DeepSeek-V4.1-Flash
Serve DeepSeek-V4.1-Flash with Dynamo on B200, GB200, and H200 using aggregated or disaggregated workers.
Deploy DeepSeek-V4.1-Flash with NVIDIA Dynamo. The vLLM B200 and GB200 recipes use eight GPUs, sparse-indexer logits, and DSpark speculative decoding. H200 uses 16 GPUs for aggregated serving or eight for disaggregated serving, with CUTLASS MoE, EPLB, and DSpark-3. SGLang recipes are also available for GB200.
Choose your deployment target
Prerequisites
- A Kubernetes cluster with a compatible Dynamo operator and eight B200/GB200 GPUs, 16 H200 GPUs for aggregated serving, or eight H200 GPUs for disaggregated serving.
- Per frontend: 16 CPU cores and 128 GiB of host memory on B200/GB200, or 4 CPU cores and 8 GiB on H200.
- Per worker: four GPUs, 16 CPU cores, 512 GiB of host memory, 64 GiB of ephemeral storage, and capacity for a 200 GiB shared-memory volume.
- A populated ReadWriteMany model-cache PVC, referenced as
shared-model-cacheby the recipes.
The worker memory and shared-memory requests match the tested configuration.
- Kustomize v5.8.1 and a filled cluster Kustomization for placement, cache binding, registry credentials, and networking.
- ARM64 worker nodes for GB200 or AMD64 worker nodes for B200/H200.
- The recipe Kustomization supplies UCX transport settings. For B200 and GB200, add the cluster’s RDMA device and interface settings.
- Place the prefill and decode workers on separate RDMA-capable H200 nodes, with
four GPUs per worker. The recipe requests four
rdma/ibdevices per worker and selects their assigned NICs at startup. Configure the SR-IOV network device plugin to providerdma/ib,PCIDEVICE_RDMA_IB, andPCIDEVICE_RDMA_IB_INFO. Do not set a staticUCX_NET_DEVICESvalue.
- NVIDIA DRA and ComputeDomain support, with the workers placed in one NVLink clique.
Deploy
Set the namespace and populate the cache using the model-cache manifests. The download Job pins snapshot dba1be0a40aa45a94ad051997016db3960a90277.
Render the selected configuration to a local file:
Use the cluster Kustomization guide to configure node placement, registry access, model storage, and networking. Set its single resources entry to recipe.yaml, then apply:
The GKE variant supplies provider RDMA settings.
Smoke Test
Forward the selected deployment’s frontend Service:
Send a request in a separate terminal:
Check that the response contains an answer.
For disaggregated SGLang, HTTP 200 can still contain content: null and zero completion tokens when KV transfer fails. Require a nonempty answer. The generic manifest forces Mooncake TCP with MC_FORCE_TCP=1; the GKE variant uses RDMA. If you select the NVLink fabric path, place both workers in one NVLink clique. A split can log cuMemImportFromShareableHandle failed: 400 and return an empty answer.
Measured Performance
Results for the agentic workload (64K input tokens, 400 output tokens), using eight B200/GB200 GPUs, 16 H200 GPUs for aggregated serving, or eight H200 GPUs for disaggregated serving. Output throughput includes reasoning tokens.
The catalog recommends GB200 disaggregated for maximum measured system output throughput per GPU at these operating points.
For GB200 at the selected concurrency, disaggregated serving delivers 21% more output tok/s/GPU and 56% more p50 user tok/s. TTFT p90 rises from 3.52 s to 57.12 s.
No published benchmark results.
Configurations
All vLLM targets use expert parallelism, expert load balancing (EPLB), KV-aware
routing, and DSpark with three draft tokens and block verification. Adaptive
verification is disabled. They serve text using the deepseek_v41 reasoning
and tool-call parsers. In the table below, P/D means prefill/decode.
Aggregated targets and H200 disaggregated set the decode-active-request weight
to 50. B200 and H200 disaggregated use isl_bounding with effective-input
threshold 2,048, input-ratio threshold 0.70, and decode-busy threshold 0.50.
With the measured image, both B200 disaggregated workers logged
Using DeepSeek's nvfp4_ds_mla KV cache format when kv_cache_dtype=auto.
See the linked Kustomize sources for the complete flags and container images.
The SGLang GB200 targets use the dev.1 runtime. Aggregated serving enables
DSpark; disaggregated serving uses Mooncake without speculative decoding.