执行摘要
启用 SDMA 并调整 chunked prefill 大小以节省显存
PR body指出:
1) 在moriep TBO(two-batch overlap)用例中启用SDMA;
2) 降低chunked prefill size以节省GPU显存。目的是提高测试覆盖率和资源利用率。
该PR为常规测试维护,无需精读。但可作为AMD MoE测试配置的参考。
无review评论,仅有HaiShaw的批准。无争议或讨论。
PR body指出:
1) 在moriep TBO(two-batch overlap)用例中启用SDMA;
2) 降低chunked prefill size以节省GPU显存。目的是提高测试覆盖率和资源利用率。
该PR为常规测试维护,无需精读。但可作为AMD MoE测试配置的参考。
无review评论,仅有HaiShaw的批准。无争议或讨论。
该PR仅修改了一个测试文件,变更分为两部分:
common_args列表中,将--chunked-prefill-size从32768改为16384,并新增--max-total-tokens参数设置为131072。此举在保证上下文长度(12288)不变的前提下,通过减小chunk size来节省GPU显存,同时限制总token数以控制资源使用。TestMTPwithTBONormal和TestMTPwithTBOLowLatency两个测试类的setUpClass方法中,添加了env["MORI_ENABLE_SDMA"] = "true"。这启用了DeepEP MoE通信中的SDMA(可能是Shared DMA或某种DMA优化),用于验证SDMA在speculative decoding(MTP)与two-batch overlap结合场景下的正确性。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
test/registered/amd/test_moriep_small.py |
测试 | modified | 3.95 |
test/registered/amd/test_moriep_small.py
test-coverage
唯一的变更文件,包含所有配置调整和 SDMA 启用。
# 在 common_args 中降低 chunk size 并新增 max-total-tokens
common_args = [
# ... 其他参数 ...
"--chunked-prefill-size",
"16384", # 从 32768 降低为 16384,节省显存
"--max-running-requests",
"128",
"--context-length",
"12288",
"--max-total-tokens",
"131072", # 新增参数,限制最大 token 数
# ... 其他参数 ...
]
# 在 TestMTPwithTBONormal.setUpClass 中启用 SDMA
env["SGLANG_ENABLE_SPEC_V2"] = "false"
env["MORI_ENABLE_SDMA"] = "true" # 启用 SDMA,用于 TBO 场景
# 在 TestMTPwithTBOLowLatency.setUpClass 中同样启用 SDMA
# env["MORI_DISABLE_P2P"] = "1" # 原注释保留
env["MORI_ENABLE_SDMA"] = "true" # 启用 SDMA
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
风险较低。变更仅涉及测试配置参数和环境变量,不修改核心逻辑。降低chunked prefill size可能影响prefill阶段的吞吐,但测试中上下文长度未变,且新增了max-total-tokens作为保护。SDMA启用依赖底层环境,但环境变量为布尔值,未启用时会回退。
影响范围:仅限AMD CI中8-GPU场景下的MoE+EP测试用例。用户无感知。团队收益:节省GPU显存(chunk size减半),并验证SDMA在TBO下的兼容性。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论