sskj/experiments/pro6000/qwen3_235b_pro6000_sglang_tp8
Zhiyi Hong 9acf9fdfdb feat(pro6000): 部署/测试解耦 - deploy 层支持多节点与 vLLM,新增 6 个 profile
- sskj.deploy runtime 支持 NODE_HOSTS 多节点编排(ssh 分发/本地 rank/LOCAL_NODE_RANK)
  与 ENGINE=vllm 启动(SERVER_CMD),容器名按 rank 自动唯一
- scripts/common/deploy_cli.sh 新增 deploy_stop/status/multinode helper 与 node-rank 透传
- src/sskj/common/env.py 修复嵌套 ${VAR:-${OTHER}/path} 展开(平衡花括号扫描)
- deploy/profiles/pro6000/ 新增 6 个 profile: tp16/tp16_eagle/glm52(多节点)、
  sglang/vllm tp_dp_matrix、qwen3(单节点)
- 6 个实验 start/stop 脚本改为 deploy 薄包装,run_bench/adaptive 的 server 启停走
  deploy_render_args/deploy_start/deploy_stop,tp16 新增 matrix.json
- 首次入库 glm52_pro6000_sglang_multinode_tp16 实验目录;ops/README.md 补 pro6000 章节
- 实测通过: 单节点 dsv4 sglang/vllm 链路 + tp16 双节点启动/bench/清理
2026-08-03 15:17:41 +08:00
..

Qwen3-235B-A22B · NVIDIA RTX 6000D · SGLang TP=8

在 pro6000D.18× NVIDIA RTX 6000D每卡 ~84GB上用 SGLang 以 TP=8 部署 Qwen3-235B-A22B,跑 输入 2048 / 输出 2048 / 并发 16 / 160 请求 基准, 与 experiments/p800/qwen3_235b_p800_sglang_tp8(昆仑 P800跨机器对比

与 p800.2 实验的关系

工作负载完全相同isl=osl=2048, c=16, n=160, seed=1, request-rate=10000仅部署 按平台适配:

p800.2 (Kunlun P800 XPU) pro6000D.1 (NVIDIA RTX 6000D)
镜像 昆仑 sglang 镜像 (pd-disagg-0510) sglang-sm120-dsv4:0.5.15.post1-fi0.6.14-sm120fix1
设备 8× XPU (/dev/xpu*, --device) 8× GPU (--gpus all)
attention backend --attention-backend kunlun sglang 默认 (flashinfer)
dtype float16 (+ XSGL_INTERTYPE_BFP16) auto (bf16NVIDIA 原生)
qwen3_moe 补丁 需要(镜像 bug 不需要(标准 sglang
XPU 环境变量 XSGL_* 一堆
TP / mem-fraction / ctx / max-running 8 / 0.9 / 8192 / 16 8 / 0.9 / 8192 / 16一致

dtype 差异说明p800.2 用 fp16昆仑原生本机用 bf16NVIDIA 原生)。两者在 各自平台上是自然精度fp16/bf16 计算吞吐基本相同,对比有效。

设计

  • start_server.shdocker run --rm --gpus all 起 sglang 容器,标准 qwen3_moe 启动参数(无昆仑补丁/XPU envnohup 后台 + 健康检查。挂载 /data:/data 使模型、 结果目录、数据集在容器内外同路径。
  • bench 客户端 sglang.bench_serving 通过 docker exec 跑在服务容器内。
  • parse_results.py 复用自 dsv4_p800_sglang与 p800.2 实验同一份)。

显存235B bf16 ~470GBTP=8 每卡 ~59GB每卡 84GB0.9 静态占比留 ~16GB/卡 给 KV+激活+cuda graph2k+2k 上下文 KV 极小,充裕。

用法

cd /data/yy/sskj/experiments/pro6000/qwen3_235b_pro6000_sglang_tp8
bash run_bench.sh                      # 一键:起服务 + 基准 + 解析
# 或分步:
bash start_server.sh
SKIP_MANAGE_SERVER=1 bash run_bench.sh

结果在 results/<run_id>/report.mdresults.jsonraw_outputs/*.jsonllogs/

输出指标

每个 scenarioSuccess/Failed、Req/s、Input/Output/Total tok/s、TTFT/TPOT/E2E mean/p50/p90/p99。与 p800.2 的对比见对话或自行用两边 results.json 汇总。