diff --git a/docs_new/docs/advanced_features/hisparse_guide.mdx b/docs_new/docs/advanced_features/hisparse_guide.mdx
index 9ec2e082b..2c62b0b0a 100644
--- a/docs_new/docs/advanced_features/hisparse_guide.mdx
+++ b/docs_new/docs/advanced_features/hisparse_guide.mdx
@@ -142,7 +142,7 @@ python3 -m sglang.launch_server \
--tp-size 8 --dp-size 8 --enable-dp-attention \
--mem-fraction-static 0.85 \
--kv-cache-dtype bfloat16 \
- --nsa-decode-backend flashmla_sparse \
+ --dsa-decode-backend flashmla_sparse \
--disaggregation-mode decode \
--disaggregation-ib-device mlx5_0,mlx5_1,mlx5_2,mlx5_3 \
--dist-init-addr 127.0.0.1:5757 \
@@ -175,7 +175,7 @@ python3 -m sglang.bench_serving \
- The prefill instance does not need `--enable-hisparse`; it is unaware of HiSparse.
- On the decode instance, the following flags are **required** for HiSparse:
- `--kv-cache-dtype bfloat16` — currently only bfloat16 KV cache is supported (more dtypes planned).
- - `--nsa-decode-backend flashmla_sparse` — currently only `flashmla_sparse` backend is supported.
+ - `--dsa-decode-backend flashmla_sparse` — currently only `flashmla_sparse` backend is supported.
- `--enable-hisparse` — enables HiSparse.
- `--hisparse-config` — HiSparse configuration (top_k, device_buffer_size, host_to_device_ratio).
- `host_to_device_ratio` should be configured based on the host machine's available memory. For example:
diff --git a/docs_new/docs/advanced_features/server_arguments.mdx b/docs_new/docs/advanced_features/server_arguments.mdx
index 134a99123..d40f0dce0 100644
--- a/docs_new/docs/advanced_features/server_arguments.mdx
+++ b/docs_new/docs/advanced_features/server_arguments.mdx
@@ -1162,19 +1162,19 @@ Please consult the documentation below and [server_args.py](https://github.com/s
| `--attention-backend` |
Choose the kernels for attention layers. |
`None` |
- triton, torch_native, flex_attention, nsa, cutlass_mla, fa3, fa4, flashinfer, flashmla, trtllm_mla, trtllm_mha, dual_chunk_flash_attn, aiter, wave, intel_amx, ascend |
+ triton, torch_native, flex_attention, dsa, cutlass_mla, fa3, fa4, flashinfer, flashmla, trtllm_mla, trtllm_mha, dual_chunk_flash_attn, aiter, wave, intel_amx, ascend |
| `--prefill-attention-backend` |
Choose the kernels for prefill attention layers (have priority over --attention-backend). |
`None` |
- triton, torch_native, flex_attention, nsa, cutlass_mla, fa3, fa4, flashinfer, flashmla, trtllm_mla, trtllm_mha, dual_chunk_flash_attn, aiter, wave, intel_amx, ascend |
+ triton, torch_native, flex_attention, dsa, cutlass_mla, fa3, fa4, flashinfer, flashmla, trtllm_mla, trtllm_mha, dual_chunk_flash_attn, aiter, wave, intel_amx, ascend |
| `--decode-attention-backend` |
Choose the kernels for decode attention layers (have priority over --attention-backend). |
`None` |
- triton, torch_native, flex_attention, nsa, cutlass_mla, fa3, fa4, flashinfer, flashmla, trtllm_mla, trtllm_mha, dual_chunk_flash_attn, aiter, wave, intel_amx, ascend |
+ triton, torch_native, flex_attention, dsa, cutlass_mla, fa3, fa4, flashinfer, flashmla, trtllm_mla, trtllm_mha, dual_chunk_flash_attn, aiter, wave, intel_amx, ascend |
| `--sampling-backend` |
@@ -1195,14 +1195,14 @@ Please consult the documentation below and [server_args.py](https://github.com/s
sdpa, fa3, fa4, triton_attn, ascend_attn, aiter_attn |
- | `--nsa-prefill-backend` |
- Choose the NSA backend for the prefill stage (overrides `--attention-backend` when running DeepSeek NSA-style attention). |
+ `--dsa-prefill-backend` |
+ DSA backend for the prefill stage (overrides `--attention-backend` when running DeepSeek DSA-style attention). |
`flashmla_sparse` |
flashmla_sparse, flashmla_kv, flashmla_auto, fa3, tilelang, aiter, trtllm |
- | `--nsa-decode-backend` |
- Choose the NSA backend for the decode stage when running DeepSeek NSA-style attention. Overrides `--attention-backend` for decoding. |
+ `--dsa-decode-backend` |
+ DSA backend for the decode stage when running DeepSeek DSA-style attention. Overrides `--attention-backend` for decoding. |
`fa3` |
flashmla_sparse, flashmla_kv, fa3, tilelang, aiter, trtllm |
@@ -2278,13 +2278,13 @@ Please consult the documentation below and [server_args.py](https://github.com/s
bool flag (set to enable) |
- --enable-nsa-prefill-context-parallel |
+ --enable-dsa-prefill-context-parallel |
Enable context parallelism used in the long sequence prefill phase of DeepSeek v3.2. |
False |
bool flag (set to enable) |
- --nsa-prefill-cp-mode |
+ --dsa-prefill-cp-mode |
Token splitting mode for the prefill phase of DeepSeek v3.2 under context parallelism. Optional values: round-robin-split(default),in-seq-split. round-robin-split distributes tokens across ranks based on token_idx % cp_size. It supports multi-batch prefill, fused MoE, and FP8 KV cache. |
in-seq-split |
in-seq-split, round-robin-split |
@@ -2841,13 +2841,13 @@ Please consult the documentation below and [server_args.py](https://github.com/s
| `--nsa-prefill` |
- Choose the NSA backend for the prefill stage (overrides `--attention-backend` when running DeepSeek NSA-style attention). |
+ Deprecated alias for `--dsa-prefill-backend`. |
`flashmla_sparse` |
`flashmla_sparse`, `flashmla_decode`, `fa3`, `tilelang`, `aiter` |
| `--nsa-decode` |
- Choose the NSA backend for the decode stage when running DeepSeek NSA-style attention. Overrides `--attention-backend` for decoding. |
+ Deprecated alias for `--dsa-decode-backend`. |
`flashmla_kv` |
`flashmla_prefill`, `flashmla_kv`, `fa3`, `tilelang`, `aiter` |
diff --git a/docs_new/docs/basic_usage/deepseek_v32.mdx b/docs_new/docs/basic_usage/deepseek_v32.mdx
index 1077a9956..a1cbf0d9c 100644
--- a/docs_new/docs/basic_usage/deepseek_v32.mdx
+++ b/docs_new/docs/basic_usage/deepseek_v32.mdx
@@ -56,7 +56,7 @@ python -m sglang.launch_server --model deepseek-ai/DeepSeek-V3.2-Exp --tp 8 --ep
python -m sglang.launch_server --model deepseek-ai/DeepSeek-V3.2-Exp --tp 8
# Launch with TP on MI30x/MI35x
-python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-V3.2-Exp --tp 8 --nsa-prefill-backend tilelang --nsa-decode-backend tilelang
+python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-V3.2-Exp --tp 8 --dsa-prefill-backend tilelang --dsa-decode-backend tilelang
```
To serve GLM-5, just replace the `--model` argument with `zai-org/GLM-5-FP8`.
@@ -64,9 +64,9 @@ To serve GLM-5, just replace the `--model` argument with `zai-org/GLM-5-FP8`.
### Configuration Tips
- **DP Attention**: To enable [DP Attention](../advanced_features/dp_dpa_smg_guide), please include `--enable-dp-attention --dp ` in command. DP Attention is better for large concurrency scenarios.
- **TP Attention**: Launching with TP attention is also supported. TP attention is better for low latency scenarios.
-- **Short-sequence MHA prefill (adaptive)**: For short prefill sequences (default threshold: **2048 tokens**), the NSA backend uses standard MHA automatically (no extra flags). On H200 (SM90) this path uses the FlashAttention variable-length kernel; on B200 (SM100) it uses TRT-LLM ragged MHA. MHA uses `MHA_ONE_SHOT` for best performance, which computes multi-head attention over all tokens (both cached prefix and newly extended tokens) in a single kernel invocation, avoiding the overhead of chunked KV cache processing. This achieves optimal throughput for short sequences where total sequence length fits within the chunk capacity limit.
-- **MHA prefill threshold relaxation**: To apply MHA attention to requests longer than 2048 tokens, please set the flag `SGLANG_NSA_PREFILL_DENSE_ATTN_KV_LEN_THRESHOLD` to a value larger than 2048. As threshold grows larger, the prefill performance can be improved, but at the cost of potential accuracy drop.
-- **Choices of Attention Kernels**: The attention backend is automatically set to `nsa` attention backend for DeepSeek V3.2 model. In this backend, different kernels for sparse prefilling/decoding are implemented, which can be specified by `--nsa-prefill-backend` and `--nsa-decode-backend` server arguments. The choices of nsa prefill/decode attention kernels include:
+- **Short-sequence MHA prefill (adaptive)**: For short prefill sequences (default threshold: **2048 tokens**), the DSA backend uses standard MHA automatically (no extra flags). On H200 (SM90) this path uses the FlashAttention variable-length kernel; on B200 (SM100) it uses TRT-LLM ragged MHA. MHA uses `MHA_ONE_SHOT` for best performance, which computes multi-head attention over all tokens (both cached prefix and newly extended tokens) in a single kernel invocation, avoiding the overhead of chunked KV cache processing. This achieves optimal throughput for short sequences where total sequence length fits within the chunk capacity limit.
+- **MHA prefill threshold relaxation**: To apply MHA attention to requests longer than 2048 tokens, please set the flag `SGLANG_DSA_PREFILL_DENSE_ATTN_KV_LEN_THRESHOLD` to a value larger than 2048 (`SGLANG_NSA_PREFILL_DENSE_ATTN_KV_LEN_THRESHOLD` is a deprecated alias). As threshold grows larger, the prefill performance can be improved, but at the cost of potential accuracy drop.
+- **Choices of Attention Kernels**: The attention backend is automatically set to `dsa` attention backend for DeepSeek V3.2 model. In this backend, different kernels for sparse prefilling/decoding are implemented, which can be specified by `--dsa-prefill-backend` and `--dsa-decode-backend` server arguments. The choices of dsa prefill/decode attention kernels include:
- `flashmla_sparse`: `flash_mla_sparse_fwd` kernel from `flash_mla` library. Can run on both Hopper and Blackwell GPUs. It requires bf16 q, kv inputs.
- `flashmla_kv`: `flash_mla_with_kvcache` kernel from `flash_mla` library. Can run on both Hopper and Blackwell GPUs. It requires bf16 q, fp8 k_cache inputs.
- `flashmla_auto`: enables automatic selection of either `flashmla_sparse` or `flashmla_kv` kernel for prefill based on KV cache dtype, hardware, and heuristics. With BF16 KV cache, `flashmla_sparse` is always used on both Hopper and Blackwell. With FP8 KV cache: On Hopper (SM90), it unconditionally uses `flashmla_kv`; On Blackwell (SM100), it uses `flashmla_sparse` when `total_kv_tokens < total_q_tokens * 512`, otherwise falls back to `flashmla_kv`. The heuristics may need to be tuned if the performance of either kernel changes significantly.
@@ -444,11 +444,11 @@ DeepSeek-V3.2-Speciale:
**Note: This feature is only verified on Hopper machines**
-For context parallel in DeepSeek V3.2 model, we provide two different modes of splitting tokens, which can be controlled with argument `--nsa-prefill-cp-mode`.
+For context parallel in DeepSeek V3.2 model, we provide two different modes of splitting tokens, which can be controlled with argument `--dsa-prefill-cp-mode`.
### In sequence splitting
-The first mode can be enabled by `--nsa-prefill-cp-mode in-seq-split`. This mode implements context parallel for DSA by splitting the sequence uniformly between context parallel ranks. At attention stage, each cp rank computes the indexer results of sharded sequence, and collects the whole kv cache through all gather operator. Add `attn_cp_size` for communication group for context parallel.
+The first mode can be enabled by `--dsa-prefill-cp-mode in-seq-split`. This mode implements context parallel for DSA by splitting the sequence uniformly between context parallel ranks. At attention stage, each cp rank computes the indexer results of sharded sequence, and collects the whole kv cache through all gather operator. Add `attn_cp_size` for communication group for context parallel.
Note that the in-sequence splitting mode has the following restrictions:
- The batch size is restricted to 1 for prefill batches
@@ -460,12 +460,12 @@ For more details, please refer to PR https://github.com/sgl-project/sglang/pull/
Example:
```bash Command
# In-seq splitting mode launched with EP + DP
-python -m sglang.launch_server --model deepseek-ai/DeepSeek-V3.2-Exp --tp 8 --ep 8 --dp 2 --enable-dp-attention --enable-nsa-prefill-context-parallel --attn-cp-size 4 --nsa-prefill-cp-mode in-seq-split --max-running-requests 32
+python -m sglang.launch_server --model deepseek-ai/DeepSeek-V3.2-Exp --tp 8 --ep 8 --dp 2 --enable-dp-attention --enable-dsa-prefill-context-parallel --attn-cp-size 4 --dsa-prefill-cp-mode in-seq-split --max-running-requests 32
```
### Round robin splitting (default setting)
-This mode can be enabled by specifying the parameter `--nsa-prefill-cp-mode round-robin-split`, which distributes tokens across ranks based on `token_idx % cp_size`.
+This mode can be enabled by specifying the parameter `--dsa-prefill-cp-mode round-robin-split`, which distributes tokens across ranks based on `token_idx % cp_size`.
In this scenario, compared to the in-sequence splitting method, it additionally supports the fused MoE backend (the fused MoE backend may deliver better performance than DeepEP in single-machine scenarios), FP8 KV-cache, and multi-batch prefill inference. However, it cannot be enabled with DP attention together.
@@ -474,7 +474,7 @@ For more details, please refer to PR https://github.com/sgl-project/sglang/pull/
Example usage:
```bash Command
# Launch with FusedMoe + CP8
-python -m sglang.launch_server --model deepseek-ai/DeepSeek-V3.2-Exp --tp 8 --enable-nsa-prefill-context-parallel --attn-cp-size 8 --nsa-prefill-cp-mode round-robin-split --max-running-requests 32
+python -m sglang.launch_server --model deepseek-ai/DeepSeek-V3.2-Exp --tp 8 --enable-dsa-prefill-context-parallel --attn-cp-size 8 --dsa-prefill-cp-mode round-robin-split --max-running-requests 32
```
### Pipeline Parallel + Context Parallel (PP + CP)
@@ -497,9 +497,9 @@ python3 -m sglang.launch_server \
--dist-init-addr :62001 \
--tp 8 --pp-size 2 \
--dp-size 1 --moe-dense-tp-size 1 \
- --enable-nsa-prefill-context-parallel \
+ --enable-dsa-prefill-context-parallel \
--attn-cp-size 8 \
- --nsa-prefill-cp-mode round-robin-split \
+ --dsa-prefill-cp-mode round-robin-split \
--trust-remote-code \
--disable-radix-cache \
--mem-fraction-static 0.8 \
@@ -521,9 +521,9 @@ python3 -m sglang.launch_server \
--dist-init-addr :62001 \
--tp 8 --pp-size 2 \
--dp-size 1 --moe-dense-tp-size 1 \
- --enable-nsa-prefill-context-parallel \
+ --enable-dsa-prefill-context-parallel \
--attn-cp-size 8 \
- --nsa-prefill-cp-mode round-robin-split \
+ --dsa-prefill-cp-mode round-robin-split \
--trust-remote-code \
--disable-radix-cache \
--mem-fraction-static 0.8 \
@@ -549,9 +549,9 @@ python -m sglang.launch_server \
--dist-init-addr :20102 \
--tp 8 --pp-size 2 \
--dp-size 1 --moe-dense-tp-size 1 \
- --enable-nsa-prefill-context-parallel \
+ --enable-dsa-prefill-context-parallel \
--attn-cp-size 8 \
- --nsa-prefill-cp-mode round-robin-split \
+ --dsa-prefill-cp-mode round-robin-split \
--disaggregation-ib-device mlx5_bond_0,mlx5_bond_1,mlx5_bond_2,mlx5_bond_3 \
--trust-remote-code \
--disable-radix-cache \
@@ -575,9 +575,9 @@ python -m sglang.launch_server \
--dist-init-addr :20102 \
--tp 8 --pp-size 2 \
--dp-size 1 --moe-dense-tp-size 1 \
- --enable-nsa-prefill-context-parallel \
+ --enable-dsa-prefill-context-parallel \
--attn-cp-size 8 \
- --nsa-prefill-cp-mode round-robin-split \
+ --dsa-prefill-cp-mode round-robin-split \
--disaggregation-ib-device mlx5_bond_0,mlx5_bond_1,mlx5_bond_2,mlx5_bond_3 \
--trust-remote-code \
--disable-radix-cache \
diff --git a/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_best_practice.mdx b/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_best_practice.mdx
index 73e2377a1..2617008cb 100644
--- a/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_best_practice.mdx
+++ b/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_best_practice.mdx
@@ -1598,8 +1598,8 @@ do
--nnodes 2 --node-rank $i \
--disaggregation-bootstrap-port 8995 \
--moe-dense-tp-size 1 \
- --enable-nsa-prefill-context-parallel \
- --nsa-prefill-cp-mode in-seq-split \
+ --enable-dsa-prefill-context-parallel \
+ --dsa-prefill-cp-mode in-seq-split \
--attn-cp-size 32 \
--speculative-algorithm NEXTN --speculative-num-steps 1 --speculative-eagle-topk 1 --speculative-num-draft-tokens 2 \
--dist-init-addr ${P_IP[0]}:10000
diff --git a/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_environment_variables.mdx b/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_environment_variables.mdx
index f403f19b1..4a88e7052 100644
--- a/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_environment_variables.mdx
+++ b/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_environment_variables.mdx
@@ -29,7 +29,7 @@ This document provides a list of commonly used environment variables and aims to
SGLANG_NPU_USE_MULTI_STREAM |
- Enable dual-stream computation of shared experts and routing experts in DeepSeek models. Enable dual-stream computation in DeepSeek NSA Indexer. |
+ Enable dual-stream computation of shared experts and routing experts in DeepSeek models. Enable dual-stream computation in DeepSeek DSA Indexer. |
false |
diff --git a/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_optimization.mdx b/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_optimization.mdx
index 2e6a3e3b6..2f5bdd0f1 100644
--- a/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_optimization.mdx
+++ b/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_optimization.mdx
@@ -187,18 +187,18 @@ These arguments and environment variables are critical for tuning prefill perfor
| true |
- | `--enable-nsa-prefill-context-parallel` |
- (DeepSeek V3.2 NSA-specific) Enables context parallelism for the long-sequence prefill phase of DeepSeek V3.2 with NSA (Native Sparse Attention). Distributes the sequence across CP ranks to parallelize the computationally expensive NSA prefill for ultra-long contexts. |
+ `--enable-dsa-prefill-context-parallel` |
+ (DeepSeek V3.2 DSA-specific) Enables context parallelism for the long-sequence prefill phase of DeepSeek V3.2 with DSA (DeepSeek Sparse Attention). Distributes the sequence across CP ranks to parallelize the computationally expensive DSA prefill for ultra-long contexts. |
Enabled |
- | `--nsa-prefill-cp-mode` |
- (DeepSeek V3.2 NSA-specific) Controls how the long sequence is split across context parallel ranks: `in-seq-split` divides each sequence uniformly across CP ranks, optimal for single-request prefill. `round-robin-split` (code default) distributes tokens by index mod CP size, supporting multi-batch prefill. Only effective when `--enable-nsa-prefill-context-parallel` is enabled. |
+ `--dsa-prefill-cp-mode` |
+ (DeepSeek V3.2 DSA-specific) Controls how the long sequence is split across context parallel ranks: `in-seq-split` divides each sequence uniformly across CP ranks, optimal for single-request prefill. `round-robin-split` (code default) distributes tokens by index mod CP size, supporting multi-batch prefill. Only effective when `--enable-dsa-prefill-context-parallel` is enabled. |
`in-seq-split` |
| `--attn-cp-size` |
- Specifies the context parallelism group size for attention computation. Larger values distribute the sequence across more ranks, reducing per-rank memory and compute at the cost of increased communication. For models with NSA, this controls the CP size for sparse attention prefill. Set to the number of available devices for maximum parallelization. |
+ Specifies the context parallelism group size for attention computation. Larger values distribute the sequence across more ranks, reducing per-rank memory and compute at the cost of increased communication. For models with DSA, this controls the CP size for sparse attention prefill. Set to the number of available devices for maximum parallelization. |
`32` |
@@ -360,7 +360,7 @@ The following environment variables are used in other best practice configuratio
| `HCCL_OP_EXPANSION_MODE=AIV` |
Configures the HCCL communication algorithm scheduling to use AIV (Ascend Intelligent Vision) expansion mode, which can improve communication efficiency for certain collective operations. |
- Used in Qwen MoE and R1 non-NSA configurations |
+ Used in Qwen MoE and R1 non-DSA configurations |
| `SGLANG_NPU_FUSED_MOE_MODE` |
diff --git a/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_support_features.mdx b/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_support_features.mdx
index e4b3143d1..701ad2688 100644
--- a/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_support_features.mdx
+++ b/docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_support_features.mdx
@@ -1225,13 +1225,13 @@ click [Server Arguments](../../advanced_features/server_arguments).
A2, A3 |
- | `--nsa-prefill-backend` |
+ `--dsa-prefill-backend` |
`flashmla_sparse` |
flashmla_sparse, flashmla_decode,
fa3, tilelang, aiter |
Special for GPU |
- | `--nsa-decode-backend` |
+ `--dsa-decode-backend` |
`fa3` |
flashmla_prefill, flashmla_kv, fa3,
tilelang, aiter |
Special for GPU |
@@ -2226,7 +2226,7 @@ click [Server Arguments](../../advanced_features/server_arguments).
Experimental |
- `--enable-nsa-prefill-` `context-parallel` |
+ `--enable-dsa-prefill-` `context-parallel` |
`False` |
bool flag (set to enable) |
A2, A3 |
diff --git a/docs_new/docs/hardware-platforms/plugin.mdx b/docs_new/docs/hardware-platforms/plugin.mdx
index 676eb0450..3376ef953 100644
--- a/docs_new/docs/hardware-platforms/plugin.mdx
+++ b/docs_new/docs/hardware-platforms/plugin.mdx
@@ -512,9 +512,9 @@ python -c "from sglang.srt.platforms import current_platform; print(current_plat
MLA KV cache pool class |
- get_nsa_kv_pool_cls() |
+ get_dsa_kv_pool_cls() |
raise NotImplementedError |
- NSA KV cache pool class (DeepSeek V3.2) |
+ DSA KV cache pool class (DeepSeek V3.2) |
get_paged_allocator_cls() |
diff --git a/docs_new/docs/references/environment_variables.mdx b/docs_new/docs/references/environment_variables.mdx
index af52bd385..61dae0e07 100644
--- a/docs_new/docs/references/environment_variables.mdx
+++ b/docs_new/docs/references/environment_variables.mdx
@@ -393,7 +393,7 @@ SGLang supports various environment variables that can be used to configure its
-## NSA Backend Configuration (For DeepSeek V3.2)
+## DSA Backend Configuration (For DeepSeek V3.2)
{/* # Environment variable to control mtp precomputing of metadata for multi-step speculative decoding */}
@@ -412,13 +412,13 @@ SGLang supports various environment variables that can be used to configure its