[A5] Kimi K3四机混部 - shun8686/sglang GitHub Wiki
A5 - 原始
#!/bin/bash
echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
sysctl -w vm.swappiness=10
sysctl -w kernel.numa_balancing=0
# 下面这行若内核不支持可注释掉,或加判断
sysctl -w kernel.sched_migration_cost_ns=50000 2>/dev/null || true
export SGLANG_SET_CPU_AFFINITY=1
# export TRITON_ALL_BLOCKS_PARALLEL=1
export SGLANG_NPU_USE_TRITON_PREFIX_KV_CACHE_STORE=1
#MODEL_PATH=/mnt/share/z00842572/k3-official
MODEL_PATH=/mnt/share/recipes/kimi/kimi_k3_27
DRAFT_MODEL_PATH=/mnt/share/recipes/kimi/RadixArk-Kimi-K3-DSpark
unset https_proxy
unset http_proxy
unset HTTPS_PROXY
unset HTTP_PROXY
unset ASCEND_LAUNCH_BLOCKING
export SGLANG_NPU_USE_TRITON_PREFIX_KV_CACHE_STORE=1
export SGLANG_K3_SHARED_EXPERTS_ATTN_TP=1
export SGLANG_ENABLE_OVERLAP_PLAN_STREAM=1
export SGLANG_ENABLE_SPEC_V2=1
export SGLANG_RAGGED_VERIFY_MODE=static
export SGLANG_DSPARK_FOLDED_PROPOSAL=0
export SGLANG_DSPARK_FOLDED_SAMPLING=0
export SGLANG_DSPARK_STACKED_CTX_KV=0
export SGLANG_DSPARK_EMBED_IN_GRAPH=0
# use fias v2
export SGLANG_NPU_USE_FIAS_V2_BSND=1
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
export STREAMS_PER_DEVICE=32
export DEEP_NORMAL_MODE_USE_INT8_QUANT=0
#source /home/z00842572/CANN/cann/set_env.sh
#source /home/z00842572/CANN/nnal/atb/set_env.sh
#export ASCEND_LAUNCH_BLOCKING=1
export SGLANG_DEEPEP_NUM_MAX_DISPATCH_TOKENS_PER_RANK=64
export DEEPEP_HCCL_BUFFSIZE=1200
export HCCL_OP_EXPANSION_MODE=AIV
export ASCEND_USE_FIA=1
export SGLANG_W4A8_MXFP4_MOE=1
#export DEEP_USE_MODE="alltoall"
export SGLANG_TORCH_PROFILER_DIR="./sglang_profile/"
export SGLANG_PROFILE_WITH_STACK=False
export SGLANG_K3_SHARED_EXPERTS_ATTN_TP=1
#export PYTHONPATH=/mnt/share/hanwlax/sglang/python:$PYTHONPATH
#export PYTHONPATH=/mnt/share/z00842572/0828/sglang/python:$PYTHONPATH
#export PYTHONPATH=/mnt/share/z00842572/ci_sglang/python:$PYTHONPATH
# export SGLANG_DSPARK_DEBUG_TRACE=${SGLANG_DSPARK_DEBUG_TRACE:-1}
# 定义 Decode 节点 IP 列表(4 机)
D_IP=('141.61.94.103' '141.61.94.111' '141.61.94.107' '141.61.94.139')
# 获取本机所有 IP 地址
LOCAL_IPS=$(hostname -I 2>/dev/null)
# 标记是否匹配
MATCHED=0
# 检查是否属于 Decode 节点
for i in "${!D_IP[@]}"; do
for ip in $LOCAL_IPS; do
if [ "$ip" == "${D_IP[$i]}" ](/shun8686/sglang/wiki/-"$ip"-==-"${D_IP[$i]}"-); then
MATCHED=1
echo "Decode -> ${D_IP[$i]} (node-rank $i)"
# 设置网络接口环境变量
export HCCL_SOCKET_IFNAME=enp35s0f2
export GLOO_SOCKET_IFNAME=data0.173
# 启动服务
sglang serve \
--model-loader-extra-config '{"enable_multithread_load": true}' \
--dist-init-addr ${D_IP[0]}:5000 --nnodes 4 --node-rank $i \
--model-path $MODEL_PATH \
--tokenizer-path $MODEL_PATH \
--trust-remote-code \
--attention-backend ascend \
--device npu \
--dtype bfloat16 \
--mamba-ssm-dtype bfloat16 \
--tp-size 32 \
--enable-dp-attention \
--dp-size 1 \
--enable-dp-lm-head \
--max-mamba-cache-size 160 \
--mem-fraction-static 0.9 \
--chunked-prefill-size 2048 \
--cuda-graph-bs-decode 8 16 32 \
--max-running-requests 32 \
--host 0.0.0.0 \
--port 30000 \
--max-total-tokens 200000 \
--enable-shared-experts-attn-tp \
--enable-dense-mlp-attn-tp \
--moe-a2a-backend deepep \
--deepep-mode auto \
--speculative-algorithm DSPARK \
--speculative-draft-model-path $DRAFT_MODEL_PATH \
--speculative-draft-model-quantization unquant \
--speculative-dspark-block-size 7 \
--speculative-draft-attention-backend ascend \
--linear-attn-verify-backend triton \
--speculative-eagle-topk 1 \
--watchdog-timeout 9000 \
--enable-hierarchical-cache \
--hicache-io-backend kernel_ascend \
--enable-cache-report \
--hicache-ratio 4 \
--hicache-write-policy write_through \
--hicache-storage-backend npu_memcache \
--hicache-storage-backend-extra-config '{"meta_service_url":"tcp://141.61.94.103:5007", "config_store_url":"tcp://141.61.94.103:6007", "log_level":"info", "world_size":32, "protocol": "device_urma", "dram_size": "20GB"}' \
2>&1 | tee "logs/run32p_$(date +%Y-%m-%d_%H-%M-%S).log" "logs/run32p_latest.log"
exit 0 # 正常结束(原为 exit 1,改为 0 表示成功)
fi
done
done
# 如果没有匹配任何 IP,则报错退出
if [ $MATCHED -eq 0 ]; then
echo "Error: Local IP ($LOCAL_IPS) not found in D_IP list."
exit 1
fi
A5 - 极光
GLOO_SOCKET_IFNAME需指定data0.173 当前只支持Kimi K3原始权重, 不支持量化权重
#!/bin/bash
pkill -9 sglang
pkill -9 python
#pip uninstall -y memcache_hybrid || true
#pip uninstall -y memfabric_hybrid || true
#pip install /mnt/share/d00662834/memfabric_hybrid-1.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl || true
#pip install /mnt/share/d00662834/memcache_hybrid-1.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl || true
echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
sysctl -w vm.swappiness=10
sysctl -w kernel.numa_balancing=0
# 下面这行若内核不支持可注释掉,或加判断
sysctl -w kernel.sched_migration_cost_ns=50000 2>/dev/null || true
export SGLANG_SET_CPU_AFFINITY=1
# export TRITON_ALL_BLOCKS_PARALLEL=1
export SGLANG_NPU_USE_TRITON_PREFIX_KV_CACHE_STORE=1
unset https_proxy
unset http_proxy
unset HTTPS_PROXY
unset HTTP_PROXY
unset ASCEND_LAUNCH_BLOCKING
export SGLANG_NPU_USE_TRITON_PREFIX_KV_CACHE_STORE=1
export SGLANG_K3_SHARED_EXPERTS_ATTN_TP=1
export SGLANG_ENABLE_OVERLAP_PLAN_STREAM=1
export SGLANG_ENABLE_SPEC_V2=1
export SGLANG_RAGGED_VERIFY_MODE=static
export SGLANG_DSPARK_FOLDED_PROPOSAL=0
export SGLANG_DSPARK_FOLDED_SAMPLING=0
export SGLANG_DSPARK_STACKED_CTX_KV=0
export SGLANG_DSPARK_EMBED_IN_GRAPH=0
# use fias v2
export SGLANG_NPU_USE_FIAS_V2_BSND=1
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
export STREAMS_PER_DEVICE=32
export DEEP_NORMAL_MODE_USE_INT8_QUANT=0
#source /home/z00842572/CANN/cann/set_env.sh
#source /home/z00842572/CANN/nnal/atb/set_env.sh
export ASCEND_LAUNCH_BLOCKING=1
export SGLANG_DEEPEP_NUM_MAX_DISPATCH_TOKENS_PER_RANK=64
export DEEPEP_HCCL_BUFFSIZE=1200
export HCCL_OP_EXPANSION_MODE=AIV
export ASCEND_USE_FIA=1
export SGLANG_W4A8_MXFP4_MOE=1
#export DEEP_USE_MODE="alltoall"
export SGLANG_TORCH_PROFILER_DIR="./sglang_profile/"
export SGLANG_PROFILE_WITH_STACK=False
export SGLANG_K3_SHARED_EXPERTS_ATTN_TP=1
export GLOO_SOCKET_IFNAME="data0.173"
# 启动服务
python -m sglang.launch_server \
--model-loader-extra-config '{"enable_multithread_load": true}' \
--model-path /mnt/share/recipes/kimi/kimi_k3_27 \
--tokenizer-path /mnt/share/recipes/kimi/kimi_k3_27 \
--trust-remote-code \
--attention-backend ascend \
--device npu \
--dtype bfloat16 \
--mamba-ssm-dtype bfloat16 \
--tp-size 32 \
--enable-dp-attention \
--dp-size 1 \
--enable-dp-lm-head \
--max-mamba-cache-size 160 \
--mem-fraction-static 0.9 \
--chunked-prefill-size 2048 \
--disable-cuda-graph \
--max-running-requests 32 \
--max-total-tokens 200000 \
--enable-shared-experts-attn-tp \
--enable-dense-mlp-attn-tp \
--moe-a2a-backend deepep \
--deepep-mode auto \
--speculative-algorithm DSPARK \
--speculative-draft-model-path /mnt/share/recipes/kimi/RadixArk-Kimi-K3-DSpark \
--speculative-draft-model-quantization unquant \
--speculative-dspark-block-size 7 \
--speculative-draft-attention-backend ascend \
--linear-attn-verify-backend triton \
--speculative-eagle-topk 1 \
--watchdog-timeout 9000 \
--enable-hierarchical-cache \
--hicache-io-backend kernel_ascend \
--enable-cache-report \
--hicache-ratio 4 \
--hicache-write-policy write_through \
--hicache-storage-backend npu_memcache \
--hicache-storage-backend-extra-config '{"meta_service_url":"tcp://141.61.94.103:5007", "config_store_url":"tcp://141.61.94.103:6007", "log_level":"info", "world_size":32, "protocol": "device_urma", "dram_size": "20GB"}'