# 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 极小,充裕。 ## 用法 ```bash 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//`:`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` 汇总。