执行摘要
本PR重新调整了AMD Instinct MI355X上Mamba selective_state_update (SSU)内核的float16缓存配置,将键从窄网格(10-5120)改为统一网格(128-262144),与MI300X和MI350X保持一致。仅修改JSON配置文件,无代码逻辑变更,但带来1.2-2.3倍的内核加速。
功能与动机
所有AMD Instinct GPU的SSU配置此前使用不同的采样网格,不利于性能对比和维护。MI355X原始配置(#47767)为特定部署调优,使用了10-5120的非标准网格。本PR将其重新生成到与MI300X(#47945)和MI350X(#48159)相同的标准网格(128-262144),确保整个产品线的配置在统一点上采样。
实现拆解
- 配置网格扩展:将配置键从
"10", "80", "160", ..., "5120"(7个点)替换为"128", "256", ..., "262144"(12个点),覆盖更广的effective_batch范围。
- 启动参数调优:为每个新点重新选择
BLOCK_SIZE_M和num_warps,例如1024点使用{BLOCK_SIZE_M:8, num_warps:1}以在低延迟下平衡占用。
- 生成与验证:使用vLLM内部基准脚本在MI355X上运行,
--validate所有12个点通过CPU参考,--compare显示相对默认启发式的显著加速(小批量~1.2x,解码范围~1.9-2.3x)。
- 运行时适配:配置文件名由脚本自动生成(基于设备名和dtype),
get_ssm_configs()无需代码改动即可加载。
vllm/model_executor/layers/mamba/ops/configs/selective_state_update/headdim=64,dstate=128,device_name=AMD_Instinct_MI355_OAM,cache_dtype=float16.json
唯一变更文件,重新调整了MI355X的SSU内核float16配置,键从窄网格变为统一网格,启动参数相应更新。
// 重新调整后的 MI355X float16 SSU 配置文件内容(完整)
{
"triton_version": "3.6.0",
// effective_batch = batch * nheads, 范围 128~262144
"128": { "BLOCK_SIZE_M": 16, "num_warps": 4 },
"256": { "BLOCK_SIZE_M": 32, "num_warps": 4 },
"1024": { "BLOCK_SIZE_M": 8, "num_warps": 1 },
"2048": { "BLOCK_SIZE_M": 16, "num_warps": 2 },
"4096": { "BLOCK_SIZE_M": 16, "num_warps": 1 },
"8192": { "BLOCK_SIZE_M": 16, "num_warps": 1 },
"16384": { "BLOCK_SIZE_M": 16, "num_warps": 2 },
"32768": { "BLOCK_SIZE_M": 16, "num_warps": 2 },
"65536": { "BLOCK_SIZE_M": 16, "num_warps": 2 },
"131072":{ "BLOCK_SIZE_M": 64, "num_warps": 2 },
"196608":{ "BLOCK_SIZE_M": 16, "num_warps": 2 },
"262144":{ "BLOCK_SIZE_M": 16, "num_warps": 2 }
}
评论区精华
PR无实质性技术讨论。claude[bot]自动评论表示需维护者手动触发审核,tomeras91直接批准。
风险与影响
- 风险极低:仅修改JSON配置,不影响内核计算逻辑;所有调优点均已通过CPU参考和
--compare验证;端到端lm_eval测试显示准确率不变。唯一风险是配置文件名需与设备精准匹配,否则回退到默认启发式(性能下降但功能正常)。
- 影响:仅限MI355X上运行Mamba2(headdim=64, dstate=128, cache_dtype=float16)的用户,可获得significant decode加速。
关联脉络
- 先前PR #47767 为MI355X的原宽度网格配置,本PR将其对齐到统一网格。
- 统一网格由MI300X PR #47945 首次启用,随后MI350X #48159 应用,本PR是AMD Instinct系列统一的最后一步。
- 后续可能为float32配置进行类似调优(PR body提及companion PR)。
参与讨论