Qwen3-235B-A22B · NVIDIA RTX 6000D · SGLang TP=8
在 pro6000D.1(8× 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 (bf16,NVIDIA 原生) |
| 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(昆仑原生),本机用 bf16(NVIDIA 原生)。两者在 各自平台上是自然精度;fp16/bf16 计算吞吐基本相同,对比有效。
设计
start_server.sh:docker run --rm --gpus all起 sglang 容器,标准 qwen3_moe 启动参数(无昆仑补丁/XPU env),nohup 后台 + 健康检查。挂载/data:/data使模型、 结果目录、数据集在容器内外同路径。- bench 客户端
sglang.bench_serving通过docker exec跑在服务容器内。 parse_results.py复用自 dsv4_p800_sglang(与 p800.2 实验同一份)。
显存:235B bf16 ~470GB,TP=8 每卡 ~59GB;每卡 84GB,0.9 静态占比留 ~16GB/卡 给 KV+激活+cuda graph,2k+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.md、results.json、raw_outputs/*.jsonl、logs/。
输出指标
每个 scenario:Success/Failed、Req/s、Input/Output/Total tok/s、TTFT/TPOT/E2E
(mean/p50/p90/p99)。与 p800.2 的对比见对话或自行用两边 results.json 汇总。