Move all experiments under hardware-specific folders: - experiments/h200/ : H200 GPU experiments (15 dirs) - experiments/h20/ : H20 GPU experiments (2 dirs) - experiments/p800/ : Kunlun P800 experiments (3 dirs) - experiments/pro6000/ : RTX 6000D experiments (2 dirs) This improves discoverability and keeps hardware-specific configs isolated from each other.
1.8 KiB
1.8 KiB
DSV4 P800 最大上下文长度探索实验
在 8x Kunlun P800 XPU 上,逐步增大输入长度,测试 SGLang serving DeepSeek-V4-Flash-INT8 时能稳定处理的最长上下文。
目的
- 找到 P800 + SGLang INT8 在 TP=8 配置下,单请求最多能支持多长的输入 token。
- 每个长度只跑 1 个请求、输出 1 个 token,尽量减少 decode 阶段显存干扰。
- 每次测试单独启动 server,并把
context-length刚好设为target_len + CONTEXT_PAD,避免预分配过大。
默认候选长度
4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288
可以通过环境变量覆盖:
CANDIDATE_LENS=(4096 8192 16384) bash run_bench.sh
控制变量
| 维度 | 配置 |
|---|---|
| 硬件 | 8x Kunlun P800 XPU,TP=8 |
| 模型 | DeepSeek-V4-Flash-INT8(w8a8_int8) |
| 输入长度 | --random-input-len $target_len --random-range-ratio 1.0 |
| 输出长度 | 1 |
| 并发 / 请求数 | 1 / 1 |
| 压测客户端 | 容器内 sglang.bench_serving --backend sglang |
--random-range-ratio 1.0确保输入长度固定为target_len,而不是默认的[1, target_len]均匀分布。
快速运行
bash experiments/dsv4_p800_max_context_length/run_bench.sh
结果保存在 experiments/dsv4_p800_max_context_length/results/<RUN_ID>/:
results/<RUN_ID>/
├── results.json
├── report.md
└── raw_outputs/ # gitignored
产物说明
results.json:每个候选长度的尝试记录,包括success、TTFT/TPOT/E2E 指标、server_args。report.md:汇总表格,以及 SGLang INT8 最终支持的最大输入长度。
环境
- Docker image:
iregistry.baidu-int.com/xpu/sglang-p800-pd-disagg-0510:20260511_4202 - Container Python:
/root/miniconda/envs/python310_torch25_cuda/bin/python