[NPU] [DOC] Optimize and fix docs issues on Ascend NPU (#30767)
This commit is contained in:
+2
-1
@@ -938,7 +938,8 @@
|
|||||||
"docs/hardware-platforms/ascend-npus/ascend_npu_faq",
|
"docs/hardware-platforms/ascend-npus/ascend_npu_faq",
|
||||||
"docs/hardware-platforms/ascend-npus/ascend_npu_operator_performance_optimizing",
|
"docs/hardware-platforms/ascend-npus/ascend_npu_operator_performance_optimizing",
|
||||||
"docs/hardware-platforms/ascend-npus/ascend_npu_profiling",
|
"docs/hardware-platforms/ascend-npus/ascend_npu_profiling",
|
||||||
"docs/hardware-platforms/ascend-npus/ascend_npu_operator_development"
|
"docs/hardware-platforms/ascend-npus/ascend_npu_operator_development",
|
||||||
|
"docs/hardware-platforms/ascend-npus/ascend_npu_reference"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"docs/hardware-platforms/cpu_server",
|
"docs/hardware-platforms/cpu_server",
|
||||||
|
|||||||
@@ -289,8 +289,8 @@ For this error
|
|||||||
```text
|
```text
|
||||||
root@localhost:/home/# wget https://www.modelscope.cn/datasets/evalscope/MMStar/resolve/master/MMStar.tsv
|
root@localhost:/home/# wget https://www.modelscope.cn/datasets/evalscope/MMStar/resolve/master/MMStar.tsv
|
||||||
--2026-05-12 12:08:01-- https://www.modelscope.cn/datasets/evalscope/MMStar/resolve/master/MMStar.tsv
|
--2026-05-12 12:08:01-- https://www.modelscope.cn/datasets/evalscope/MMStar/resolve/master/MMStar.tsv
|
||||||
Connecting to 141.5.152.215:6688... connected.
|
Connecting to <PROXY_IP>:<PROXY_PORT>... connected.
|
||||||
ERROR: cannot verify www.modelscope.cn's certificate, issued by ‘CN=Huawei Web Secure Internet Gateway CA V2,OU=IT,O=Huawei,L=Shenzhen,ST=GuangDong,C=CN’:
|
ERROR: cannot verify www.modelscope.cn's certificate, issued by ‘<CERT_ISSUER>’:
|
||||||
Self-signed certificate encountered.
|
Self-signed certificate encountered.
|
||||||
To connect to www.modelscope.cn insecurely, use `--no-check-certificate`.
|
To connect to www.modelscope.cn insecurely, use `--no-check-certificate`.
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ First, use the `npu-smi info` command to check the NPU memory usage.
|
|||||||
|
|
||||||
If the NPUs are occupied by other processes, use `--base-gpu-id` to specify the starting device index.
|
If the NPUs are occupied by other processes, use `--base-gpu-id` to specify the starting device index.
|
||||||
|
|
||||||
If the NPUs are not occupied, you can use `--tp` to deploy across multiple devices, or reduce the KV cache memory usage by decreasing the `--mem-fraction-static` value. For detailed tuning guidance, see [Hyperparameter Tuning](/docs/advanced_features/hyperparameter_tuning).
|
If the NPUs are not occupied, you can use `--tp` to deploy across multiple devices, or reduce the KV cache memory usage by increasing the `--mem-fraction-static` value. For detailed tuning guidance, see [Hyperparameter Tuning](/docs/advanced_features/hyperparameter_tuning).
|
||||||
|
|
||||||
## 5. How to update sgl-kernel-npu
|
## 5. How to update sgl-kernel-npu
|
||||||
|
|
||||||
|
|||||||
@@ -1,379 +0,0 @@
|
|||||||
---
|
|
||||||
title: "GLM-5.2 examples"
|
|
||||||
description: "Deploy GLM-5.2 with SGLang on Ascend NPUs, including single-node, multi-node, and Prefill-Decode disaggregation modes."
|
|
||||||
---
|
|
||||||
|
|
||||||
# GLM-5.2 examples
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
The GLM (General Language Model) series is an open-source bilingual large language model family jointly developed by the KEG Laboratory of Tsinghua University and Zhipu AI. This series of models has performed outstandingly in the field of Chinese NLP with its unique unified pre-training framework and bilingual capabilities. GLM-5.2 adopts the DeepSeek-V3/V3.2 architecture, including the sparse attention (DSA) and multi-token prediction (MTP). Ascend supports GLM-5.2 with 0Day based on the SGLang inference framework, achieving low-code seamless enablement and compatibility with the mainstream distributed parallel capabilities within the current SGLang framework. We welcome developers to download and experience it.
|
|
||||||
|
|
||||||
## Environment Preparation
|
|
||||||
|
|
||||||
### Model Weight
|
|
||||||
|
|
||||||
- `GLM-5.2`(BF16 version): [Download model weight](https://huggingface.co/collections/zai-org/glm-52).
|
|
||||||
- `GLM-5.2-w8a8`(Quantized version without mtp): [Download model weight](https://www.modelscope.cn/models/Eco-Tech/GLM-5.2-w8a8/).
|
|
||||||
- You can use [msmodelslim](https://gitcode.com/Ascend/msmodelslim) to quantize the model naively.
|
|
||||||
|
|
||||||
|
|
||||||
### Installation
|
|
||||||
|
|
||||||
The dependencies required for the NPU runtime environment have been integrated into a Docker image and uploaded to the online platform. You can directly pull it.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
#Atlas 800 A3
|
|
||||||
docker pull swr.cn-southwest-2.myhuaweicloud.com/base_image/dockerhub/lmsysorg/sglang:cann9.0.0-a3-glm5.2-20260615
|
|
||||||
#Atlas 800 A2
|
|
||||||
docker pull swr.cn-southwest-2.myhuaweicloud.com/base_image/dockerhub/lmsysorg/sglang:cann9.0.0-910b-glm5.2-20260615
|
|
||||||
|
|
||||||
#start container
|
|
||||||
docker run -itd --shm-size=16g --privileged=true --name ${NAME} \
|
|
||||||
--privileged=true --net=host \
|
|
||||||
-v /var/queue_schedule:/var/queue_schedule \
|
|
||||||
-v /etc/ascend_install.info:/etc/ascend_install.info \
|
|
||||||
-v /usr/local/sbin:/usr/local/sbin \
|
|
||||||
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
|
|
||||||
-v /usr/local/Ascend/firmware:/usr/local/Ascend/firmware \
|
|
||||||
--device=/dev/davinci0:/dev/davinci0 \
|
|
||||||
--device=/dev/davinci1:/dev/davinci1 \
|
|
||||||
--device=/dev/davinci2:/dev/davinci2 \
|
|
||||||
--device=/dev/davinci3:/dev/davinci3 \
|
|
||||||
--device=/dev/davinci4:/dev/davinci4 \
|
|
||||||
--device=/dev/davinci5:/dev/davinci5 \
|
|
||||||
--device=/dev/davinci6:/dev/davinci6 \
|
|
||||||
--device=/dev/davinci7:/dev/davinci7 \
|
|
||||||
--device=/dev/davinci8:/dev/davinci8 \
|
|
||||||
--device=/dev/davinci9:/dev/davinci9 \
|
|
||||||
--device=/dev/davinci10:/dev/davinci10 \
|
|
||||||
--device=/dev/davinci11:/dev/davinci11 \
|
|
||||||
--device=/dev/davinci12:/dev/davinci12 \
|
|
||||||
--device=/dev/davinci13:/dev/davinci13 \
|
|
||||||
--device=/dev/davinci14:/dev/davinci14 \
|
|
||||||
--device=/dev/davinci15:/dev/davinci15 \
|
|
||||||
--device=/dev/davinci_manager:/dev/davinci_manager \
|
|
||||||
--device=/dev/hisi_hdc:/dev/hisi_hdc \
|
|
||||||
--entrypoint=bash \
|
|
||||||
swr.cn-southwest-2.myhuaweicloud.com/base_image/dockerhub/lmsysorg/sglang:${TAG}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Deployment
|
|
||||||
|
|
||||||
### Single-node Deployment
|
|
||||||
|
|
||||||
- Quantized model `glm5.2_w8a8` can be deployed on 1 Atlas 800 A3 (64G × 16) .
|
|
||||||
|
|
||||||
**A3 series**
|
|
||||||
|
|
||||||
Run the following script to execute online inference.
|
|
||||||
|
|
||||||
```shell
|
|
||||||
# high performance cpu
|
|
||||||
echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
|
||||||
sysctl -w vm.swappiness=0
|
|
||||||
sysctl -w kernel.numa_balancing=0
|
|
||||||
sysctl -w kernel.sched_migration_cost_ns=50000
|
|
||||||
# bind cpu
|
|
||||||
export SGLANG_SET_CPU_AFFINITY=1
|
|
||||||
|
|
||||||
unset https_proxy
|
|
||||||
unset http_proxy
|
|
||||||
unset HTTPS_PROXY
|
|
||||||
unset HTTP_PROXY
|
|
||||||
unset ASCEND_LAUNCH_BLOCKING
|
|
||||||
# cann
|
|
||||||
source /usr/local/Ascend/ascend-toolkit/set_env.sh
|
|
||||||
source /usr/local/Ascend/nnal/atb/set_env.sh
|
|
||||||
|
|
||||||
export STREAMS_PER_DEVICE=32
|
|
||||||
export SGLANG_DISAGGREGATION_BOOTSTRAP_TIMEOUT=600
|
|
||||||
export SGLANG_ENABLE_SPEC_V2=1
|
|
||||||
# MTP OVERLAP
|
|
||||||
export SGLANG_ENABLE_OVERLAP_PLAN_STREAM=1
|
|
||||||
export SGLANG_NPU_USE_MULTI_STREAM=1
|
|
||||||
|
|
||||||
export HCCL_BUFFSIZE=1000
|
|
||||||
export HCCL_OP_EXPANSION_MODE=AIV
|
|
||||||
export HCCL_SOCKET_IFNAME=lo
|
|
||||||
export GLOO_SOCKET_IFNAME=lo
|
|
||||||
# DEEPEP
|
|
||||||
export DEEP_NORMAL_MODE_USE_INT8_QUANT=1
|
|
||||||
export DEEPEP_NORMAL_LONG_SEQ_ROUND=72
|
|
||||||
export DEEPEP_NORMAL_LONG_SEQ_PER_ROUND_TOKENS=1024
|
|
||||||
export DEEPEP_NORMAL_COMBINE_ENABLE_LONG_SEQ=1
|
|
||||||
|
|
||||||
MODEL_PATH={"weights path"}
|
|
||||||
|
|
||||||
python3 -m sglang.launch_server \
|
|
||||||
--model-path $MODEL_PATH \
|
|
||||||
--attention-backend ascend \
|
|
||||||
--device npu \
|
|
||||||
--tp-size 16 --nnodes 1 --node-rank 0 \
|
|
||||||
--chunked-prefill-size 16384 --max-prefill-tokens 280000 \
|
|
||||||
--trust-remote-code \
|
|
||||||
--host 127.0.0.1 \
|
|
||||||
--mem-fraction-static 0.7 \
|
|
||||||
--port 8000 \
|
|
||||||
--served-model-name glm-5 \
|
|
||||||
--cuda-graph-bs 16 \
|
|
||||||
--quantization modelslim \
|
|
||||||
--speculative-draft-model-quantization unquant \
|
|
||||||
--speculative-algorithm NEXTN --speculative-num-steps 3 --speculative-eagle-topk 1 --speculative-num-draft-tokens 4 \
|
|
||||||
--moe-a2a-backend deepep --deepep-mode auto
|
|
||||||
```
|
|
||||||
|
|
||||||
**A2 series**
|
|
||||||
|
|
||||||
Run the following script to execute online inference.
|
|
||||||
```shell
|
|
||||||
export SGLANG_SET_CPU_AFFINITY=1
|
|
||||||
|
|
||||||
unset https_proxy
|
|
||||||
unset http_proxy
|
|
||||||
unset HTTPS_PROXY
|
|
||||||
unset HTTP_PROXY
|
|
||||||
unset ASCEND_LAUNCH_BLOCKING
|
|
||||||
# cann
|
|
||||||
source /usr/local/Ascend/ascend-toolkit/set_env.sh
|
|
||||||
source /usr/local/Ascend/nnal/atb/set_env.sh
|
|
||||||
|
|
||||||
export STREAMS_PER_DEVICE=32
|
|
||||||
export SGLANG_DISAGGREGATION_BOOTSTRAP_TIMEOUT=600
|
|
||||||
|
|
||||||
export HCCL_BUFFSIZE=1000
|
|
||||||
export HCCL_SOCKET_IFNAME=lo
|
|
||||||
export GLOO_SOCKET_IFNAME=lo
|
|
||||||
export TRANSFORMERS_VERBOSITY=error
|
|
||||||
|
|
||||||
#DEEPEP
|
|
||||||
export DEEPEP_NORMAL_LONG_SEQ_ROUND=72
|
|
||||||
export DEEPEP_NORMAL_LONG_SEQ_PER_ROUND_TOKENS=1024
|
|
||||||
export DEEPEP_NORMAL_COMBINE_ENABLE_LONG_SEQ=1
|
|
||||||
export DEEP_NORMAL_MODE_USE_INT8_QUANT=1
|
|
||||||
|
|
||||||
MODEL_PATH={"weights path"}
|
|
||||||
|
|
||||||
python3 -m sglang.launch_server \
|
|
||||||
--model-path $MODEL_PATH \
|
|
||||||
--attention-backend ascend \
|
|
||||||
--device npu \
|
|
||||||
--tp-size 8 \
|
|
||||||
--nnodes 1 \
|
|
||||||
--dp-size 1 \
|
|
||||||
--enable-dp-attention \
|
|
||||||
--chunked-prefill-size -1 \
|
|
||||||
--max-prefill-tokens 65536 \
|
|
||||||
--trust-remote-code \
|
|
||||||
--mem-fraction-static 0.9 \
|
|
||||||
--served-model-name glm-5 \
|
|
||||||
--cuda-graph-bs 8 \
|
|
||||||
--max-running-requests 102 \
|
|
||||||
--quantization modelslim \
|
|
||||||
--speculative-draft-model-quantization unquant \
|
|
||||||
--moe-a2a-backend deepep --deepep-mode auto \
|
|
||||||
--load-balance-method round_robin
|
|
||||||
```
|
|
||||||
|
|
||||||
### Multi-node Deployment
|
|
||||||
|
|
||||||
- Quantized model `glm5.2_w8a8` can be deployed on 2 Atlas 800 A3 (64G × 16) .
|
|
||||||
|
|
||||||
**A3 series**
|
|
||||||
|
|
||||||
Modify the IP of 2 nodes, then run the same scripts on two nodes.
|
|
||||||
|
|
||||||
**node 0/1**
|
|
||||||
|
|
||||||
```shell
|
|
||||||
echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
|
||||||
sysctl -w vm.swappiness=0
|
|
||||||
sysctl -w kernel.numa_balancing=0
|
|
||||||
sysctl -w kernel.sched_migration_cost_ns=50000
|
|
||||||
# bind cpu
|
|
||||||
export SGLANG_SET_CPU_AFFINITY=1
|
|
||||||
|
|
||||||
unset https_proxy
|
|
||||||
unset http_proxy
|
|
||||||
unset HTTPS_PROXY
|
|
||||||
unset HTTP_PROXY
|
|
||||||
unset ASCEND_LAUNCH_BLOCKING
|
|
||||||
# cann
|
|
||||||
source /usr/local/Ascend/ascend-toolkit/set_env.sh
|
|
||||||
source /usr/local/Ascend/nnal/atb/set_env.sh
|
|
||||||
|
|
||||||
export STREAMS_PER_DEVICE=32
|
|
||||||
export SGLANG_DISAGGREGATION_BOOTSTRAP_TIMEOUT=600
|
|
||||||
# MTP OVERLAP
|
|
||||||
export SGLANG_ENABLE_SPEC_V2=1
|
|
||||||
export SGLANG_ENABLE_OVERLAP_PLAN_STREAM=1
|
|
||||||
|
|
||||||
export SGLANG_NPU_USE_MULTI_STREAM=1
|
|
||||||
export HCCL_BUFFSIZE=1000
|
|
||||||
export HCCL_OP_EXPANSION_MODE=AIV
|
|
||||||
|
|
||||||
# Run command ifconfig on two nodes, find out which inet addr has same IP with your node IP. That is your public interface, which should be added here
|
|
||||||
export HCCL_SOCKET_IFNAME=lo
|
|
||||||
export GLOO_SOCKET_IFNAME=lo
|
|
||||||
|
|
||||||
# DEEPEP
|
|
||||||
export DEEPEP_NORMAL_LONG_SEQ_ROUND=72
|
|
||||||
export DEEPEP_NORMAL_LONG_SEQ_PER_ROUND_TOKENS=1024
|
|
||||||
export DEEPEP_NORMAL_COMBINE_ENABLE_LONG_SEQ=1
|
|
||||||
export DEEP_NORMAL_MODE_USE_INT8_QUANT=1
|
|
||||||
|
|
||||||
|
|
||||||
IPS=('your ip1' 'your ip2')
|
|
||||||
IP_MASTER="${IPS[0]}:your port"
|
|
||||||
export SGLANG_DISAGGREGATION_BOOTSTRAP_TIMEOUT=600
|
|
||||||
|
|
||||||
MODEL_PATH={"weights path"}
|
|
||||||
|
|
||||||
LOCAL_HOST1=`hostname -I|awk -F " " '{print$1}'`
|
|
||||||
LOCAL_HOST2=`hostname -I|awk -F " " '{print$2}'`
|
|
||||||
for i in "${!IPS[@]}";
|
|
||||||
do
|
|
||||||
if [[ "$LOCAL_HOST1" == "${IPS[$i]}" || "$LOCAL_HOST2" == "${IPS[$i]}" ]];
|
|
||||||
then
|
|
||||||
echo "${IPS[$i]}"
|
|
||||||
python3 -m sglang.launch_server \
|
|
||||||
--model-path $MODEL_PATH \
|
|
||||||
--attention-backend ascend \
|
|
||||||
--device npu \
|
|
||||||
--tp-size 32 --nnodes 2 --node-rank $i --dist-init-addr $IP_MASTER \
|
|
||||||
--chunked-prefill-size 16384 --max-prefill-tokens 131072 \
|
|
||||||
--trust-remote-code \
|
|
||||||
--host 127.0.0.1 \
|
|
||||||
--mem-fraction-static 0.8 \
|
|
||||||
--port 8000 \
|
|
||||||
--served-model-name glm-5 \
|
|
||||||
--cuda-graph-max-bs-decode 32 \
|
|
||||||
--moe-a2a-backend deepep \
|
|
||||||
--deepep-mode auto \
|
|
||||||
--speculative-draft-model-quantization unquant \
|
|
||||||
--speculative-algorithm NEXTN --speculative-num-steps 3 --speculative-eagle-topk 1 --speculative-num-draft-tokens 4 \
|
|
||||||
--disable-radix-cache
|
|
||||||
NODE_RANK=$i
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
```
|
|
||||||
|
|
||||||
### Prefill-Decode Disaggregation
|
|
||||||
|
|
||||||
```shell
|
|
||||||
echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
|
||||||
sysctl -w vm.swappiness=0
|
|
||||||
sysctl -w kernel.numa_balancing=0
|
|
||||||
sysctl -w kernel.sched_migration_cost_ns=50000
|
|
||||||
|
|
||||||
export SGLANG_SET_CPU_AFFINITY=1
|
|
||||||
|
|
||||||
unset https_proxy
|
|
||||||
unset http_proxy
|
|
||||||
unset HTTPS_PROXY
|
|
||||||
unset HTTP_PROXY
|
|
||||||
unset ASCEND_LAUNCH_BLOCKING
|
|
||||||
source /usr/local/Ascend/ascend-toolkit/set_env.sh
|
|
||||||
source /usr/local/Ascend/nnal/atb/set_env.sh
|
|
||||||
|
|
||||||
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
|
|
||||||
export STREAMS_PER_DEVICE=32
|
|
||||||
# pd transfer, prefill master IP
|
|
||||||
export ASCEND_MF_STORE_URL="tcp://x.x.x.x:24707"
|
|
||||||
export SGLANG_DISAGGREGATION_BOOTSTRAP_TIMEOUT=600
|
|
||||||
|
|
||||||
P_IP=('your ip1')
|
|
||||||
D_IP=('your ip2')
|
|
||||||
|
|
||||||
MODEL_PATH={"weights path"}
|
|
||||||
|
|
||||||
export TRANSFORMERS_VERBOSITY=error
|
|
||||||
|
|
||||||
LOCAL_HOST1=`hostname -I|awk -F " " '{print$1}'`
|
|
||||||
LOCAL_HOST2=`hostname -I|awk -F " " '{print$2}'`
|
|
||||||
echo "${LOCAL_HOST1}"
|
|
||||||
echo "${LOCAL_HOST2}"
|
|
||||||
|
|
||||||
# prefill
|
|
||||||
for i in "${!P_IP[@]}";
|
|
||||||
do
|
|
||||||
if [[ "$LOCAL_HOST1" == "${P_IP[$i]}" || "$LOCAL_HOST2" == "${P_IP[$i]}" ]];
|
|
||||||
then
|
|
||||||
echo "${P_IP[$i]}"
|
|
||||||
export DEEPEP_NORMAL_LONG_SEQ_ROUND=72
|
|
||||||
export DEEPEP_NORMAL_LONG_SEQ_PER_ROUND_TOKENS=1024
|
|
||||||
export DEEPEP_NORMAL_COMBINE_ENABLE_LONG_SEQ=1
|
|
||||||
export DEEP_NORMAL_MODE_USE_INT8_QUANT=1
|
|
||||||
export TASK_QUEUE_ENABLE=2
|
|
||||||
export HCCL_SOCKET_IFNAME=lo
|
|
||||||
export GLOO_SOCKET_IFNAME=lo
|
|
||||||
|
|
||||||
# P节点
|
|
||||||
python -m sglang.launch_server --model-path ${MODEL_PATH} --disaggregation-mode prefill --host ${P_IP[$i]} \
|
|
||||||
--port 8000 --disaggregation-bootstrap-port 8998 --trust-remote-code --nnodes 1 --node-rank $i \
|
|
||||||
--tp-size 16 --mem-fraction-static 0.8 --attention-backend ascend --device npu --quantization modelslim \
|
|
||||||
--disaggregation-transfer-backend ascend --max-running-requests 64 \
|
|
||||||
--served-model-name glm-5 --chunked-prefill-size 524288 --max-prefill-tokens 180000 --moe-a2a-backend deepep --deepep-mode normal \
|
|
||||||
--disable-shared-experts-fusion --disable-cuda-graph --dtype bfloat16 \
|
|
||||||
--dp-size 4 --enable-dp-attention \
|
|
||||||
--load-balance-method round_robin \
|
|
||||||
--enable-dp-lm-head --moe-dense-tp 1 \
|
|
||||||
--speculative-draft-model-quantization unquant \
|
|
||||||
--speculative-algorithm NEXTN --speculative-num-steps 1 --speculative-eagle-topk 1 --speculative-num-draft-tokens 2 \
|
|
||||||
|
|
||||||
# cp
|
|
||||||
#--enable-nsa-prefill-context-parallel \
|
|
||||||
#--nsa-prefill-cp-mode in-seq-split \
|
|
||||||
#--attn-cp-size 4 \
|
|
||||||
NODE_RANK=$i
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# decode
|
|
||||||
for i in "${!D_IP[@]}";
|
|
||||||
do
|
|
||||||
if [[ "$LOCAL_HOST1" == "${D_IP[$i]}" || "$LOCAL_HOST2" == "${D_IP[$i]}" ]];
|
|
||||||
then
|
|
||||||
echo "${D_IP[$i]}"
|
|
||||||
|
|
||||||
export SGLANG_ENABLE_OVERLAP_PLAN_STREAM=1
|
|
||||||
export SGLANG_ENABLE_SPEC_V2=1
|
|
||||||
export HCCL_BUFFSIZE=650
|
|
||||||
|
|
||||||
export SGLANG_DEEPEP_NUM_MAX_DISPATCH_TOKENS_PER_RANK=32
|
|
||||||
export TASK_QUEUE_ENABLE=0
|
|
||||||
|
|
||||||
export HCCL_SOCKET_IFNAME=lo
|
|
||||||
export GLOO_SOCKET_IFNAME=lo
|
|
||||||
|
|
||||||
export SGLANG_NPU_USE_MULTI_STREAM=1
|
|
||||||
|
|
||||||
python -m sglang.launch_server --model-path ${MODEL_PATH} --disaggregation-mode decode --host ${D_IP[$i]} \
|
|
||||||
--port 8003 --trust-remote-code --nnodes 1 --node-rank $i --tp-size 16 --dp-size 16 --ep-size 16 \
|
|
||||||
--mem-fraction-static 0.8 --max-running-requests 128 --attention-backend ascend --device npu --quantization modelslim \
|
|
||||||
--served-model-name glm-5 --moe-a2a-backend deepep --enable-dp-attention --deepep-mode low_latency \
|
|
||||||
--cuda-graph-max-bs-decode 4 --disaggregation-transfer-backend ascend --watchdog-timeout 9000 --context-length 180000 \
|
|
||||||
--tokenizer-worker-num 4 --prefill-round-robin-balance --disable-shared-experts-fusion --dtype bfloat16 --load-balance-method round_robin \
|
|
||||||
--speculative-draft-model-quantization unquant \
|
|
||||||
--speculative-algorithm NEXTN --speculative-num-steps 3 --speculative-eagle-topk 1 --speculative-num-draft-tokens 4
|
|
||||||
NODE_RANK=$i
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell
|
|
||||||
python3 -m sglang_router.launch_router \
|
|
||||||
--pd-disaggregation \
|
|
||||||
--policy round_robin \
|
|
||||||
--prefill http://{P_MASTER_IP}:8000 8998 \
|
|
||||||
--decode http://{D_MASTER_IP}:8003 \
|
|
||||||
--host {P_MASTER_IP} \
|
|
||||||
--port 6688
|
|
||||||
```
|
|
||||||
|
|
||||||
### Using Benchmark
|
|
||||||
|
|
||||||
Refer to [Benchmark and Profiling](/docs/developer_guide/benchmark_and_profiling) for details.
|
|
||||||
@@ -22,6 +22,11 @@ on Ascend hardware.
|
|||||||
|
|
||||||
## Directory Structure
|
## Directory Structure
|
||||||
|
|
||||||
|
<Note>
|
||||||
|
The identifiers `sgl_kenel_npu_ops.h` and `KernalHelloworld` in this guide match the spelling
|
||||||
|
used in the upstream [sgl-kernel-npu](https://github.com/sgl-project/sgl-kernel-npu) repository and are kept verbatim for consistency.
|
||||||
|
</Note>
|
||||||
|
|
||||||
```text
|
```text
|
||||||
sgl-kernel-npu/
|
sgl-kernel-npu/
|
||||||
├── csrc/ # Ascend C operator C++ sources
|
├── csrc/ # Ascend C operator C++ sources
|
||||||
|
|||||||
@@ -0,0 +1,148 @@
|
|||||||
|
---
|
||||||
|
title: "Ascend NPU Reference"
|
||||||
|
metatags:
|
||||||
|
description: "Hardware concepts, communication libraries, deployment terminology, and common abbreviations for deploying SGLang on Ascend NPUs."
|
||||||
|
---
|
||||||
|
|
||||||
|
This page covers the hardware concepts, communication libraries, deployment terminology, and common abbreviations
|
||||||
|
you will encounter throughout the Ascend NPU documentation. Refer back here when you run into unfamiliar terms.
|
||||||
|
|
||||||
|
## Hardware
|
||||||
|
|
||||||
|
### Supported devices
|
||||||
|
|
||||||
|
SGLang supports the following Ascend inference hardware:
|
||||||
|
|
||||||
|
| Hardware | Chip | Devices | Dies per card | Memory configuration |
|
||||||
|
| ------------------ | ----------- | ------- | ------------- | ------------------------------------ |
|
||||||
|
| Atlas 800I A2 (A2) | Ascend 910B | 8 | 1 | 8(cards) × 1(die/card) × 64(GB/die) |
|
||||||
|
| Atlas 800I A3 (A3) | Ascend 910C | 16 | 2 | 8(cards) × 2(dies/card) × 64(GB/die) |
|
||||||
|
|
||||||
|
<Note>
|
||||||
|
Throughout these docs, **A2** and **A3** are used as shorthand for the hardware above.
|
||||||
|
Docker image tags use `910b` for A2 and `a3` for A3.
|
||||||
|
For example, `v0.5.13.post1-cann9.0.0-910b` and `v0.5.13.post1-cann9.0.0-a3`.
|
||||||
|
|
||||||
|
On A3, each card has 2 dies, giving 16 devices vs 8 on A2.
|
||||||
|
Benchmark pages use "Cards" to refer to physical cards, so `Cards: 4` on A3 means `--tp-size 8`.
|
||||||
|
|
||||||
|
From a deployment perspective, the two key differences between A2 and A3 are:
|
||||||
|
|
||||||
|
1. dies per card — which drives both total memory and `--tp-size` configuration
|
||||||
|
2. PD disaggregation — A2 requires setting `export ASCEND_MF_TRANSFER_PROTOCOL="device_rdma"`, while A3 uses the default protocol.
|
||||||
|
</Note>
|
||||||
|
|
||||||
|
### NPU
|
||||||
|
|
||||||
|
**NPU** stands for Neural Processing Unit. Each NPU device is a single `davinci` core.
|
||||||
|
The terms "NPU" and "davinci" are used interchangeably in commands and error logs.
|
||||||
|
|
||||||
|
On A2, devices are numbered `/dev/davinci0` through `/dev/davinci7` (8 devices).
|
||||||
|
On A3, devices are numbered `/dev/davinci0` through `/dev/davinci15` (16 devices).
|
||||||
|
|
||||||
|
On either an A2 or A3 server, run `npu-smi info` to view NPU information such as device
|
||||||
|
health, memory usage, and chip status. If the command is not found or reports no devices,
|
||||||
|
the driver is likely not installed. Follow the
|
||||||
|
[Ascend driver installation guide](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/900/softwareinst/instg/instg_0005.html?OS=openEuler&InstallType=local)
|
||||||
|
to install it.
|
||||||
|
|
||||||
|
## Communication libraries
|
||||||
|
|
||||||
|
| Library | Description |
|
||||||
|
| -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| **HCCL** (Huawei Collective Communication Library) | The primary communication backend for multi-card data transfer on Ascend NPUs. Equivalent to NVIDIA NCCL. Used in `--nnodes`, `--tp-size`, and all distributed scenarios. |
|
||||||
|
| **GLOO** | Meta's collective communications library. Used alongside HCCL for distributed initialization and coordination. |
|
||||||
|
| **DeepEP** (Deep Expert Parallelism) | A communication library optimized for Mixture-of-Experts (MoE) all-to-all dispatch and combine operations. Used with `--moe-a2a-backend deepep`. |
|
||||||
|
| **RDMA** (Remote Direct Memory Access) | Enables direct memory access between nodes over InfiniBand or RoCE networks. Required for multi-node PD disaggregation. |
|
||||||
|
|
||||||
|
## Quantization and precision
|
||||||
|
|
||||||
|
| Notation | Meaning |
|
||||||
|
| --------- | ------------------------------------------------------------------ |
|
||||||
|
| **W8A8** | 8-bit weights, 8-bit activations |
|
||||||
|
| **W4A8** | 4-bit weights, 8-bit activations |
|
||||||
|
| **W4A16** | 4-bit weights, 16-bit activations |
|
||||||
|
| **BF16** | Brain Floating Point 16 — 16-bit format optimized for ML workloads |
|
||||||
|
| **FP8** | 8-bit Floating Point — not supported on A2/A3 |
|
||||||
|
| **INT8** | 8-bit Integer quantization |
|
||||||
|
|
||||||
|
To apply quantization, use `--quantization modelslim` for W8A8 INT8, or load a pre-quantized
|
||||||
|
checkpoint directly from a model hub.
|
||||||
|
|
||||||
|
## Deployment terminology
|
||||||
|
|
||||||
|
### Prefill-Decode (PD) disaggregation
|
||||||
|
|
||||||
|
PD disaggregation separates inference into two stages running on different nodes:
|
||||||
|
|
||||||
|
- **Prefill** (P): Processes the entire input prompt at once. Compute-bound.
|
||||||
|
- **Decode** (D): Generates tokens one at a time. Memory-bandwidth-bound.
|
||||||
|
|
||||||
|
**PD Mixed**: Both stages run on the same set of nodes.
|
||||||
|
|
||||||
|
| Shorthand | Meaning |
|
||||||
|
| --------- | ------------------------------- |
|
||||||
|
| **1P1D** | 1 prefill node + 1 decode node |
|
||||||
|
| **2P1D** | 2 prefill nodes + 1 decode node |
|
||||||
|
| **1P2D** | 1 prefill node + 2 decode nodes |
|
||||||
|
|
||||||
|
You will see these in [Best Practice](/docs/hardware-platforms/ascend-npus/best_practice)
|
||||||
|
section headings, e.g. `W8A8 2P1D 32P` means "W8A8 quantization, 2 prefill nodes +
|
||||||
|
1 decode node, 32 cards total."
|
||||||
|
|
||||||
|
### Parallelism strategies
|
||||||
|
|
||||||
|
| Strategy | Flag | Description |
|
||||||
|
| ----------------------------- | ---------------- | ----------------------------------------------------------------------- |
|
||||||
|
| **Tensor Parallelism (TP)** | `--tp-size` | Splits model weights across NPUs within a node |
|
||||||
|
| **Data Parallelism (DP)** | `--dp-size` | Replicates the model across nodes for higher throughput |
|
||||||
|
| **Expert Parallelism (EP)** | `--ep-size` | Distributes MoE experts across devices; requires `--moe-a2a-backend` |
|
||||||
|
| **Context Parallelism (CP)** | `--attn-cp-size` | Splits long context windows across devices for extended sequence length |
|
||||||
|
| **Pipeline Parallelism (PP)** | `--pp-size` | Splits model layers across devices sequentially |
|
||||||
|
|
||||||
|
### Speculative decoding
|
||||||
|
|
||||||
|
| Algorithm | Description |
|
||||||
|
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| **EAGLE3** | Uses an external draft model (specified via `--speculative-draft-model-path`) to propose candidate tokens. Supports top-k sampling. |
|
||||||
|
| **NEXTN** | Uses the model's built-in Multi-Token Prediction (MTP) heads — no separate draft model needed. Available for models with native MTP support. |
|
||||||
|
| **MTP** (Multi-Token Prediction) | A model architecture feature where the model predicts multiple future tokens per step. The foundation for NEXTN speculative decoding. |
|
||||||
|
|
||||||
|
### Performance metrics
|
||||||
|
|
||||||
|
| Metric | Description |
|
||||||
|
| --------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||||
|
| **TPOT** (Time Per Output Token) | Average time to generate each output token. Lower is better. |
|
||||||
|
| **TTFT** (Time To First Token) | Latency from request arrival to first generated token. Critical for interactive use. |
|
||||||
|
|
||||||
|
## Model architecture terms
|
||||||
|
|
||||||
|
| Term | Description |
|
||||||
|
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| **MoE** (Mixture of Experts) | Model architecture where only a subset of parameters (experts) is activated per token, reducing compute. Common in DeepSeek, Qwen3-30B-A3B, and MiMo models. |
|
||||||
|
| **MLA** (Multi-head Latent Attention) | Attention variant that compresses key-value representations into a lower-dimensional latent space. Used by DeepSeek models. |
|
||||||
|
| **GQA** (Grouped-Query Attention) | Attention variant where multiple query heads share a single key-value head. Used by Qwen3 dense models. |
|
||||||
|
| **DSA** (DeepSeek Sparse Attention) | DeepSeek's sparse attention mechanism; reduces KV cache overhead for long contexts. |
|
||||||
|
| **FFN** (Feed-Forward Network) | The non-attention component of each transformer layer. In MoE models, the FFN is replaced by multiple expert FFN layers selected by a router. |
|
||||||
|
|
||||||
|
## Other common abbreviations
|
||||||
|
|
||||||
|
| Abbreviation | Expansion |
|
||||||
|
| ------------------------------------------------ | ----------------------------------------------------------------------- |
|
||||||
|
| **ACL** (Ascend Computing Language) | Low-level Ascend compute API; seen in error logs |
|
||||||
|
| **DVFS** (Dynamic Voltage and Frequency Scaling) | Hardware frequency scaling to maintain performance stability |
|
||||||
|
| **NUMA** (Non-Uniform Memory Access) | Memory architecture affecting multi-socket performance |
|
||||||
|
| **KV Cache** (Key-Value Cache) | Cached attention key-value tensors to avoid recomputation during decode |
|
||||||
|
| **LoRA** (Low-Rank Adaptation) | Parameter-efficient fine-tuning method |
|
||||||
|
| **HF** (Hugging Face) | Model hub; `HF_TOKEN` / `HF_ENDPOINT` control model download access |
|
||||||
|
| **UB** (Unified Buffer) | On-chip NPU memory; referenced in operator optimization |
|
||||||
|
| **DMA** (Direct Memory Access) | Data transfer mechanism between host and device memory |
|
||||||
|
|
||||||
|
## Where to go next
|
||||||
|
|
||||||
|
- [Quickstart](/docs/hardware-platforms/ascend-npus/ascend_npu_quick_start) — launch your first server
|
||||||
|
- [Installation Guide](/docs/hardware-platforms/ascend-npus/ascend_npu) — full installation with component version mapping
|
||||||
|
- [Supported Features](/docs/hardware-platforms/ascend-npus/ascend_npu_support_features) — per-parameter Ascend support status
|
||||||
|
- [Supported Models](/docs/hardware-platforms/ascend-npus/ascend_npu_support_models) — models verified on Ascend NPU
|
||||||
|
- [Model Tutorials](/docs/hardware-platforms/ascend-npus/model-tutorials) — step-by-step deployment guides
|
||||||
|
- [Best Practice](/docs/hardware-platforms/ascend-npus/best_practice) — benchmark configurations and results
|
||||||
@@ -4,7 +4,7 @@ metatags:
|
|||||||
description: "Documentation for Support Models on Ascend NPU"
|
description: "Documentation for Support Models on Ascend NPU"
|
||||||
---
|
---
|
||||||
This section describes the models supported on the Ascend NPU, including Large Language Models, Multimodal Language
|
This section describes the models supported on the Ascend NPU, including Large Language Models, Multimodal Language
|
||||||
Models, Embedding Models, Reward Models and Rerank Models. Mainstream DeepSeek/Qwen/GLM series are included.
|
Models, Diffusion Language Models, Embedding Models, Reward Models and Rerank Models. Mainstream DeepSeek/Qwen/GLM series are included.
|
||||||
You are welcome to enable various models based on your business requirements.
|
You are welcome to enable various models based on your business requirements.
|
||||||
|
|
||||||
## Large Language Models
|
## Large Language Models
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for DeepSeek-R1 on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [DeepSeek-R1 Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/deepseek_r1).
|
This page focuses on optimal configuration and benchmark results for DeepSeek-R1 on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [DeepSeek-R1 Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/deepseek_r1).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
@@ -191,7 +193,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -211,7 +213,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -318,7 +320,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -501,7 +503,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip1>, <your prefill ip2>: prefill node IP addresses
|
# <your prefill ip1>, <your prefill ip2>: prefill node IP addresses
|
||||||
@@ -524,7 +526,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -710,7 +712,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip1>, <your prefill ip2>: prefill node IP addresses
|
# <your prefill ip1>, <your prefill ip2>: prefill node IP addresses
|
||||||
@@ -733,7 +735,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -915,7 +917,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip1>, <your prefill ip2>: prefill node IP addresses
|
# <your prefill ip1>, <your prefill ip2>: prefill node IP addresses
|
||||||
@@ -938,7 +940,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -1120,7 +1122,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip1>, <your prefill ip2>: prefill node IP addresses
|
# <your prefill ip1>, <your prefill ip2>: prefill node IP addresses
|
||||||
@@ -1143,7 +1145,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -1323,7 +1325,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip1>, <your prefill ip2>: prefill node IP addresses
|
# <your prefill ip1>, <your prefill ip2>: prefill node IP addresses
|
||||||
@@ -1346,7 +1348,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for DeepSeek-V3.2 on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [DeepSeek-V3.2 Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/deepseek_v3_2).
|
This page focuses on optimal configuration and benchmark results for DeepSeek-V3.2 on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [DeepSeek-V3.2 Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/deepseek_v3_2).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
@@ -190,7 +192,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -211,7 +213,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -389,7 +391,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -410,7 +412,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -588,7 +590,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -609,7 +611,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for GLM-5.1 on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [GLM-5.1 Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/glm_5_1).
|
This page focuses on optimal configuration and benchmark results for GLM-5.1 on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [GLM-5.1 Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/glm_5_1).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
@@ -134,7 +136,7 @@ done
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -321,7 +323,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -341,7 +343,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -526,7 +528,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -546,7 +548,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -731,7 +733,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -751,7 +753,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -934,7 +936,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -954,7 +956,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -1139,7 +1141,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -1162,7 +1164,7 @@ We tested it based on the `generated-shared-prefix` dataset with 90% cache hit (
|
|||||||
`--gsp-question-len 6655` = `int(66560 * (1 - 0.9))` is the unique per-request suffix.
|
`--gsp-question-len 6655` = `int(66560 * (1 - 0.9))` is the unique per-request suffix.
|
||||||
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name generated-shared-prefix \
|
--dataset-name generated-shared-prefix \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -1343,7 +1345,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -1363,7 +1365,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -1550,7 +1552,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip1>, <your prefill ip2>: prefill node IP addresses
|
# <your prefill ip1>, <your prefill ip2>: prefill node IP addresses
|
||||||
@@ -1574,7 +1576,7 @@ We tested it based on the `generated-shared-prefix` dataset with 90% cache hit (
|
|||||||
`--gsp-question-len 13107` = `int(131072 * (1 - 0.9))` is the unique per-request suffix.
|
`--gsp-question-len 13107` = `int(131072 * (1 - 0.9))` is the unique per-request suffix.
|
||||||
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name generated-shared-prefix \
|
--dataset-name generated-shared-prefix \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -1763,7 +1765,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip1>, <your prefill ip2>, <your prefill ip3>, <your prefill ip4>: prefill node IP addresses
|
# <your prefill ip1>, <your prefill ip2>, <your prefill ip3>, <your prefill ip4>: prefill node IP addresses
|
||||||
@@ -1789,7 +1791,7 @@ We tested it based on the `generated-shared-prefix` dataset with 90% cache hit (
|
|||||||
`--gsp-question-len 6553` = `int(65536 * (1 - 0.9))` is the unique per-request suffix.
|
`--gsp-question-len 6553` = `int(65536 * (1 - 0.9))` is the unique per-request suffix.
|
||||||
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name generated-shared-prefix \
|
--dataset-name generated-shared-prefix \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for Kimi-K2.6 on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Kimi-K2.6 Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/kimi_k2_6).
|
This page focuses on optimal configuration and benchmark results for Kimi-K2.6 on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Kimi-K2.6 Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/kimi_k2_6).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
@@ -141,7 +143,7 @@ done
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -319,7 +321,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -339,7 +341,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -519,7 +521,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -542,7 +544,7 @@ We tested it based on the `generated-shared-prefix` dataset with 90% cache hit (
|
|||||||
`--gsp-question-len 12799` = `int(128000 * (1 - 0.9))` is the unique per-request suffix.
|
`--gsp-question-len 12799` = `int(128000 * (1 - 0.9))` is the unique per-request suffix.
|
||||||
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name generated-shared-prefix \
|
--dataset-name generated-shared-prefix \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -719,7 +721,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -739,7 +741,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -914,7 +916,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -937,7 +939,7 @@ We tested it based on the `generated-shared-prefix` dataset with 90% cache hit (
|
|||||||
`--gsp-question-len 6399` = `int(64000 * (1 - 0.9))` is the unique per-request suffix.
|
`--gsp-question-len 6399` = `int(64000 * (1 - 0.9))` is the unique per-request suffix.
|
||||||
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name generated-shared-prefix \
|
--dataset-name generated-shared-prefix \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -1052,7 +1054,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `IMAGE` dataset with 1024x1024 resolution.
|
We tested it based on the `IMAGE` dataset with 1024x1024 resolution.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name image \
|
--dataset-name image \
|
||||||
--backend sglang-oai-chat \
|
--backend sglang-oai-chat \
|
||||||
@@ -1165,7 +1167,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `IMAGE` dataset with 1920x1080 resolution.
|
We tested it based on the `IMAGE` dataset with 1920x1080 resolution.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name image \
|
--dataset-name image \
|
||||||
--backend sglang-oai-chat \
|
--backend sglang-oai-chat \
|
||||||
@@ -1281,7 +1283,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -1392,7 +1394,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -4,7 +4,11 @@ metatags:
|
|||||||
description: "Best Practice for MiMo-V2-Flash on Ascend NPU"
|
description: "Best Practice for MiMo-V2-Flash on Ascend NPU"
|
||||||
---
|
---
|
||||||
|
|
||||||
This guide describes the best practice data for MiMo-V2-Flash on the Ascend NPU.
|
<Note>
|
||||||
|
This page focuses on optimal configuration and benchmark results for MiMo-V2-Flash on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [MiMo-V2-Flash Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/mimo_v2_flash).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
|
|
||||||
@@ -175,7 +179,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -196,7 +200,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -361,7 +365,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -382,7 +386,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -547,7 +551,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -568,7 +572,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -733,7 +737,7 @@ do
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Before running, replace the following placeholders:
|
# Before running, replace the following placeholders:
|
||||||
# <your prefill ip>: prefill node IP address
|
# <your prefill ip>: prefill node IP address
|
||||||
@@ -754,7 +758,7 @@ python -m sglang_router.launch_router \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for MiniMax-M2.5 on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [MiniMax-M2.5 Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/minimax_m2_5).
|
This page focuses on optimal configuration and benchmark results for MiniMax-M2.5 on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [MiniMax-M2.5 Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/minimax_m2_5).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
@@ -124,7 +126,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -230,7 +232,7 @@ We tested it based on the `generated-shared-prefix` dataset with 90% cache hit (
|
|||||||
`--gsp-question-len 6553` = `int(65536 * (1 - 0.9))` is the unique per-request suffix.
|
`--gsp-question-len 6553` = `int(65536 * (1 - 0.9))` is the unique per-request suffix.
|
||||||
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name generated-shared-prefix \
|
--dataset-name generated-shared-prefix \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -341,7 +343,7 @@ We tested it based on the `generated-shared-prefix` dataset with 90% cache hit (
|
|||||||
`--gsp-question-len 13107` = `int(131072 * (1 - 0.9))` is the unique per-request suffix.
|
`--gsp-question-len 13107` = `int(131072 * (1 - 0.9))` is the unique per-request suffix.
|
||||||
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name generated-shared-prefix \
|
--dataset-name generated-shared-prefix \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -449,7 +451,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -553,7 +555,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for Qwen3-8B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3-8B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3-8b).
|
This page focuses on optimal configuration and benchmark results for Qwen3-8B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3-8B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3-8b).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
@@ -110,7 +112,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -206,7 +208,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -302,7 +304,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for Qwen3-235B-A22B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3-235B-A22B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_235b_a22b).
|
This page focuses on optimal configuration and benchmark results for Qwen3-235B-A22B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3-235B-A22B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_235b_a22b).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
@@ -108,7 +110,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -216,7 +218,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for Qwen3-30B-A3B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3-30B-A3B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_30b_a3b).
|
This page focuses on optimal configuration and benchmark results for Qwen3-30B-A3B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3-30B-A3B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_30b_a3b).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
@@ -117,7 +119,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -217,7 +219,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -317,7 +319,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -416,7 +418,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for Qwen3-32B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3-32B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_32b).
|
This page focuses on optimal configuration and benchmark results for Qwen3-32B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3-32B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_32b).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
@@ -109,7 +111,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -208,7 +210,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -307,7 +309,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for Qwen3.5-397B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3.5-397B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_5_397b).
|
This page focuses on optimal configuration and benchmark results for Qwen3.5-397B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3.5-397B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_5_397b).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
@@ -128,7 +130,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -239,7 +241,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -348,7 +350,7 @@ We tested it based on the `generated-shared-prefix` dataset with 90% cache hit (
|
|||||||
`--gsp-question-len 13107` = `int(131072 * (1 - 0.9))` is the unique per-request suffix.
|
`--gsp-question-len 13107` = `int(131072 * (1 - 0.9))` is the unique per-request suffix.
|
||||||
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name generated-shared-prefix \
|
--dataset-name generated-shared-prefix \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -464,7 +466,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -579,7 +581,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -693,7 +695,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -807,7 +809,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -922,7 +924,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -1037,7 +1039,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -1149,7 +1151,7 @@ We tested it based on the `generated-shared-prefix` dataset with 90% cache hit (
|
|||||||
`--gsp-question-len 6553` = `int(65536 * (1 - 0.9))` is the unique per-request suffix.
|
`--gsp-question-len 6553` = `int(65536 * (1 - 0.9))` is the unique per-request suffix.
|
||||||
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name generated-shared-prefix \
|
--dataset-name generated-shared-prefix \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for Qwen3.6-27B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3.6-27B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_6_27b).
|
This page focuses on optimal configuration and benchmark results for Qwen3.6-27B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3.6-27B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_6_27b).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### High Throughput
|
### High Throughput
|
||||||
@@ -112,7 +114,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -211,7 +213,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -311,7 +313,7 @@ We tested it based on the `generated-shared-prefix` dataset with 90% cache hit (
|
|||||||
`--gsp-question-len 6399` = `int(64000 * (1 - 0.9))` is the unique per-request suffix.
|
`--gsp-question-len 6399` = `int(64000 * (1 - 0.9))` is the unique per-request suffix.
|
||||||
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name generated-shared-prefix \
|
--dataset-name generated-shared-prefix \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -412,7 +414,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -504,7 +506,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -598,7 +600,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -694,7 +696,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for Qwen3.6-35B-A3B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3.6-35B-A3B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_6_35b_a3b).
|
This page focuses on optimal configuration and benchmark results for Qwen3.6-35B-A3B on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3.6-35B-A3B Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_6_35b_a3b).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
@@ -117,7 +119,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -215,7 +217,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -315,7 +317,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -415,7 +417,7 @@ We tested it based on the `generated-shared-prefix` dataset with 90% cache hit (
|
|||||||
`--gsp-question-len 6399` = `int(64000 * (1 - 0.9))` is the unique per-request suffix.
|
`--gsp-question-len 6399` = `int(64000 * (1 - 0.9))` is the unique per-request suffix.
|
||||||
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name generated-shared-prefix \
|
--dataset-name generated-shared-prefix \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -513,7 +515,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -611,7 +613,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -709,7 +711,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -810,7 +812,7 @@ We tested it based on the `generated-shared-prefix` dataset with 90% cache hit (
|
|||||||
`--gsp-question-len 6553` = `int(65536 * (1 - 0.9))` is the unique per-request suffix.
|
`--gsp-question-len 6553` = `int(65536 * (1 - 0.9))` is the unique per-request suffix.
|
||||||
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
`--gsp-num-groups 1` keeps all requests in one prefix group for maximum cache reuse.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name generated-shared-prefix \
|
--dataset-name generated-shared-prefix \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -910,7 +912,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
+5
-3
@@ -6,6 +6,8 @@ metatags:
|
|||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
This page focuses on optimal configuration and benchmark results for Qwen3-Next-80B-A3B-Instruct on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3-Next-80B-A3B-Instruct Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_next_80b_a3b_instruct).
|
This page focuses on optimal configuration and benchmark results for Qwen3-Next-80B-A3B-Instruct on the Ascend NPU. For environment setup, model weight download, feature configuration, and deployment instructions, etc., see the [Qwen3-Next-80B-A3B-Instruct Model Tutorial](/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_next_80b_a3b_instruct).
|
||||||
|
|
||||||
|
On A3 each card has 2 dies, so `--tp-size` is twice the card count; see [Ascend NPU Reference](/docs/hardware-platforms/ascend-npus/ascend_npu_reference#hardware) for details.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
### Low Latency
|
### Low Latency
|
||||||
@@ -125,7 +127,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -241,7 +243,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
@@ -357,7 +359,7 @@ python3 -m sglang.launch_server \
|
|||||||
|
|
||||||
We tested it based on the `RANDOM` dataset.
|
We tested it based on the `RANDOM` dataset.
|
||||||
|
|
||||||
```shell Command
|
```bash Command
|
||||||
python -m sglang.bench_serving \
|
python -m sglang.bench_serving \
|
||||||
--dataset-name random \
|
--dataset-name random \
|
||||||
--backend sglang \
|
--backend sglang \
|
||||||
|
|||||||
@@ -223,4 +223,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -214,4 +214,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -226,4 +226,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -13,6 +13,10 @@ Attention (DSA) and multi-token prediction (MTP), and supports high-throughput i
|
|||||||
This document demonstrates the deployment of GLM-5.2 on Ascend NPUs using SGLang, including single-node deployment,
|
This document demonstrates the deployment of GLM-5.2 on Ascend NPUs using SGLang, including single-node deployment,
|
||||||
multi-node deployment, prefill-decode disaggregation, feature configuration, and performance optimization.
|
multi-node deployment, prefill-decode disaggregation, feature configuration, and performance optimization.
|
||||||
|
|
||||||
|
> GLM-5.2 currently uses a daily build image because 0Day support was released before the related code was merged into
|
||||||
|
> the SGLang main branch. The deployment commands and image tags in this document will be updated to a stable release
|
||||||
|
> once the support lands in a stable SGLang release.
|
||||||
|
|
||||||
## Supported features
|
## Supported features
|
||||||
|
|
||||||
| Feature | Example usage |
|
| Feature | Example usage |
|
||||||
@@ -40,6 +44,18 @@ see [Feature Compatibility](/docs/hardware-platforms/ascend-npus/ascend_npu_opti
|
|||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
### Environment
|
||||||
|
|
||||||
|
Before following this tutorial, complete the environment setup in the documents below:
|
||||||
|
|
||||||
|
- [Ascend NPU Quickstart](/docs/hardware-platforms/ascend-npus/ascend_npu_quick_start) — the fastest way to get started.
|
||||||
|
It walks you through launching the official container image, starting the SGLang server, and sending a test request.
|
||||||
|
Recommended if you are new to SGLang on Ascend.
|
||||||
|
- [SGLang Installation with NPU Support](/docs/hardware-platforms/ascend-npus/ascend_npu) — the full installation guide.
|
||||||
|
It covers the component version mapping (CANN, PyTorch adapter, Triton, kernels, etc.), building from source or from a
|
||||||
|
Dockerfile, and recommended system settings (CPU power scheme, NUMA, swap). Use it when you need to install or customize
|
||||||
|
the environment instead of using the official image.
|
||||||
|
|
||||||
### Model weights
|
### Model weights
|
||||||
|
|
||||||
<Warning>
|
<Warning>
|
||||||
@@ -101,7 +117,7 @@ docker run -itd --shm-size=16g --name ${NAME} \
|
|||||||
--device=/dev/davinci_manager:/dev/davinci_manager \
|
--device=/dev/davinci_manager:/dev/davinci_manager \
|
||||||
--device=/dev/hisi_hdc:/dev/hisi_hdc \
|
--device=/dev/hisi_hdc:/dev/hisi_hdc \
|
||||||
--entrypoint=bash \
|
--entrypoint=bash \
|
||||||
swr.cn-southwest-2.myhuaweicloud.com/base_image/dockerhub/lmsysorg/sglang:${TAG}
|
swr.cn-southwest-2.myhuaweicloud.com/base_image/dockerhub/lmsysorg/sglang:cann9.0.0-a3-glm5.2-20260615
|
||||||
```
|
```
|
||||||
|
|
||||||
</Tab>
|
</Tab>
|
||||||
@@ -136,7 +152,7 @@ docker run -itd --shm-size=16g --name ${NAME} \
|
|||||||
--device=/dev/davinci_manager:/dev/davinci_manager \
|
--device=/dev/davinci_manager:/dev/davinci_manager \
|
||||||
--device=/dev/hisi_hdc:/dev/hisi_hdc \
|
--device=/dev/hisi_hdc:/dev/hisi_hdc \
|
||||||
--entrypoint=bash \
|
--entrypoint=bash \
|
||||||
swr.cn-southwest-2.myhuaweicloud.com/base_image/dockerhub/lmsysorg/sglang:${TAG}
|
swr.cn-southwest-2.myhuaweicloud.com/base_image/dockerhub/lmsysorg/sglang:cann9.0.0-910b-glm5.2-20260615
|
||||||
```
|
```
|
||||||
|
|
||||||
</Tab>
|
</Tab>
|
||||||
@@ -146,7 +162,6 @@ swr.cn-southwest-2.myhuaweicloud.com/base_image/dockerhub/lmsysorg/sglang:${TAG}
|
|||||||
- If the model weights have already been downloaded to a shared directory, use `-v` to mount the model path into the
|
- If the model weights have already been downloaded to a shared directory, use `-v` to mount the model path into the
|
||||||
container, for example: `-v /path/to/models:/models`.
|
container, for example: `-v /path/to/models:/models`.
|
||||||
- Replace `${NAME}` with your own container name or remove `--name` to use default name.
|
- Replace `${NAME}` with your own container name or remove `--name` to use default name.
|
||||||
- Replace `${TAG}` with the image tag for the corresponding hardware platform.
|
|
||||||
</Tip>
|
</Tip>
|
||||||
|
|
||||||
## Online service deployment
|
## Online service deployment
|
||||||
@@ -486,8 +501,6 @@ do
|
|||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
exit 1
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Launch the router after the prefill and decode services are ready.
|
Launch the router after the prefill and decode services are ready.
|
||||||
@@ -549,6 +562,18 @@ For accuracy evaluation methods and datasets, see [Accuracy Evaluation on Ascend
|
|||||||
|
|
||||||
For performance data and benchmark commands, see [Performance Testing on Ascend NPU](/docs/hardware-platforms/ascend-npus/ascend_npu_performance_testing).
|
For performance data and benchmark commands, see [Performance Testing on Ascend NPU](/docs/hardware-platforms/ascend-npus/ascend_npu_performance_testing).
|
||||||
|
|
||||||
|
## Best practices
|
||||||
|
|
||||||
|
### Best practice configuration reference
|
||||||
|
|
||||||
|
GLM-5.2 has no standalone best practice page yet, as 0Day support is still on daily build images and tuning parameters
|
||||||
|
are not finalized. Instead, the [Online service deployment](#online-service-deployment) section above provides
|
||||||
|
ready-to-use scripts for single-node, multi-node, and PD disaggregation, each embedding the recommended feature
|
||||||
|
combinations and tuning parameters (e.g., DeepEP mode, speculative decoding, overlap schedule).
|
||||||
|
|
||||||
|
For the full catalog of optimization features and their parameter and compatibility details,
|
||||||
|
see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/ascend_npu_optimization).
|
||||||
|
|
||||||
## Performance tuning
|
## Performance tuning
|
||||||
|
|
||||||
For the full list of supported features, see [Supported features](#supported-features). For detailed optimization
|
For the full list of supported features, see [Supported features](#supported-features). For detailed optimization
|
||||||
@@ -557,4 +582,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -235,4 +235,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -212,4 +212,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -214,4 +214,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -212,4 +212,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -434,4 +434,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -212,4 +212,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -210,4 +210,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -213,4 +213,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -210,4 +210,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
@@ -210,4 +210,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
-1
@@ -217,4 +217,3 @@ guidance, see [Optimization on Ascend NPU](/docs/hardware-platforms/ascend-npus/
|
|||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
For common environment, installation, and general parameter issues, please refer to the [Ascend NPU FAQ](/docs/hardware-platforms/ascend-npus/ascend_npu_faq).
|
||||||
This section only covers model-specific issues.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user