跳到主要内容

CP 多芯片桥 A1 Test Plan

先于 test case 代码定义全部 case:输入、预期、覆盖的 plan 验收点、断言性质。

本 test plan 覆盖 A1(CP 多芯片桥,plan docs/plans/2026-06-22-CP多芯片桥A1.md)的全部测试。先写本清单,再据它写 test case 代码(用户拍板流程)。

A1 边界:只修带宽域(跨 rank 通信走真 c2c 非 SDMA),overlap 仍聚合 max(不碰 DepEngine::Cdma=>0)。

断言性质说明

性质含义用在哪
严格无容差==,伪红进去查不加兜底通信侧守恒 / 带宽域 / 桥结构
相对一致趋势/位置一致,非绝对相等compute 侧(组合法解析 R vs G5 真 matmul cycle 口径不同)
行为断言验证某行为被触发 / 路由分支路由 / raise
浮点 ULP容差到机器精度(非工程容差)浮点比值

Task 1 桥输出结构(test_multi_chip_bridge.py,单测直接构造 DistributedModel)

#输入预期覆盖 plan 验收点断言性质
T1.1cp=4 CP DistributedModel(4 COMPUTE 节点各 chip_ids=[i],pass-KV COMM 节点 participants=[0,1,2,3])桥产出 4 个 chip 的 CoreProgram,各含本 rank 的 compute 指令桥按 chip_ids 分组 per-chip严格无容差(CoreProgram 数=4、各含对应 rank op)
T1.2同 T1.1COMM 节点进 comm_ops(转 CommOp),出现在任何 CoreProgram 的 SDMA 里COMM 排除出 per-chip COMPUTE emit 防双算严格无容差(各 CoreProgram 的 SDMA 指令里无该 COMM 的 op_id)
T1.3同 T1.1每 chip 的 CoreProgram cmd_id 独立从 0 计cmd_id per-chip 独立严格无容差(chip0 与 chip1 的 cmd_id 都从 0 起)
T1.4同 T1.1comm_ops 总字节 = Σ per-rank comm_bytes通信字节守恒严格无容差
T1.5COMM 节点 chip_ids=[] 或 participants<2桥 raise ValueError 带 op_id校验门(缺 chip_ids raise)行为断言(raise + op_id 在消息里)
T1.6COMM 节点 participants=[0,1,2,3]转出的 CommOp.participants==[0,1,2,3]、comm_type/data_bytes 正确填桥填对 participants(带宽域靠路由)严格无容差

Task 2 路由分支(test_pipeline_routing.py)

#输入预期覆盖 plan 验收点断言性质
T2.1cp>1 CP + network_graph 非 Nonerun_g5_pipeline 走桥 + simulate_multi_chipCP 路由到多芯片行为断言(调 simulate_multi_chip)
T2.2cp=1 或 network_graph=Nonerun_g5_pipeline 走 simulate_single_chip(现路径)单芯片场景不误路由行为断言(调 simulate_single_chip)

Task 3 CP 端到端 + 带宽域(test_cp_multichip_e2e.py)

#输入预期覆盖 plan 验收点断言性质
T3.1cp=4 CP prefill 走多芯片跨 rank 通信记录走 tier6 C2C,无 src=dst=0 的 SDMA跨 rank 走 c2c 非 SDMA严格无容差(通信记录带宽域=c2c、无 SDMA src=dst=0)
T3.2同 T3.1多芯片 sim 通信字节守恒(总=Σ per-rank)通信字节守恒严格无容差
T3.3cp∈{1,4,16} × 固定 S/BWG5 多芯片加速比随 cp 单调(cp 大→每芯片计算小);容量墙位置与组合法一致G5×组合法 compute 相对一致相对一致(单调性 + 容量墙位置,非绝对加速比相等)
T3.4cp=4 prefill端到端跑通多芯片路径出 EngineResultprefill 走多芯片行为断言(无异常 + 结果非空)
T3.5cp=4 decode端到端跑通多芯片路径(KV 读 tier3 HBM/tier4 NoC、pass-Q tier6 C2C)decode 走多芯片行为断言

Task 4 回归(复用既有测试 + 抽样)

#输入预期覆盖 plan 验收点断言性质
T4.1组合法路径(上下文并行收益验证 probe)结果不变(A1 不动组合法)组合法不破回归
T4.2comm-primitive 多芯片基准现有 test_comm_/cp_e2e 全绿comm-primitive 不破回归
T4.3单芯片 LLM 非 CP 场景test_adapter 等不破单芯片不破回归
T4.4全量cargo test + pytest tests/evaluation/g5/ 全绿不破现有回归

跑法

# 单测
pytest tests/evaluation/g5/test_multi_chip_bridge.py # Task 1 桥结构
pytest tests/evaluation/g5/test_pipeline_routing.py # Task 2 路由
pytest tests/evaluation/g5/test_cp_multichip_e2e.py # Task 3 端到端
# 回归
pytest tests/evaluation/g5/ # 全量 G5
cd perfmodel/evaluation/g5 && cargo test --lib # Rust(若涉及 Rust 改动)

Rust 改后:maturin build --release + pip install wheel + 覆盖根目录 g5_rs.cp314-win_amd64.pyd

边界与局限(test 不覆盖,A1 边界)

  • overlap 真实性不验:A1 overlap 聚合 max(A2 后续),不验真 overlap 拐点——只验带宽域 + compute 进真仿真。
  • 绝对加速比不验:组合法解析 R vs G5 真 matmul cycle 口径不同,compute 侧只验相对(单调/容量墙位置)。
  • vector/topk 占位:DSA 的 softmax/topk 仍占位(算子篇后续),本 test 用现有 matmul-only attention 近似。

维护信息

最后更新:2026-06-22。对应 plan docs/plans/2026-06-22-CP多芯片桥A1.md。test case 代码据本清单写(先 plan 后 case)。