Prhub

#48372 [ROCm] Retune MI355 selective_state_update float16 config on the unified effective_batch grid

原始 PR 作者 vanshbhatia-amd 合并时间 2026-07-14 13:16 文件变更 1 提交数 10 评论 0 代码增减 +32 / -16

执行摘要

MI355X Mamba SSU fp16 配置重调至统一网格

统一所有AMD Instinct GPU的SSU配置采样点,便于跨设备性能对比和维护。原始MI355X配置(#47767)使用了更窄且特定部署的网格(10-5120),而MI300X(#47945)和MI350X(#48159)已采用标准网格(128-262144)。

该PR是简单的性能配置调整,逻辑清晰且经过验证,可直接合并。值得关注的点是AMD团队为跨设备统一调优网格的设计思路,以及如何通过修改启动几何参数获得2倍性能提升。

讨论亮点

无实质性技术讨论;claude[bot]自动评论表示PR来自fork,需维护者手动触发审核;tomeras91直接批准。

实现拆解

  1. 重新调整配置网格:将JSON配置文件的键从"10", "80", ..., "5120"替换为"128", "256", ..., "262144",对应12个effective_batch采样点。
  2. 更新启动参数:为每个键重新选择BLOCK_SIZE_M和num_warps,部分点从num_warps=4降至更低值(如1024点使用BLOCK_SIZE_M=8, num_warps=1),以匹配统一网格下的最佳性能。
  3. 生成与验证:使用内部基准测试脚本benchmark_selective_state_update.py在MI355X上运行,通过--validate所有12个点均通过CPU参考值,并通过--compare确认对默认启发式的显著加速。
  4. 附加依赖:无代码改动,配置文件名遵循自动生成规则,运行时由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 Mamba 配置 modified 4.93

关键源码片段

vllm/model_executor/layers/mamba/ops/configs/selective_state_update/headdim=64,dstate=128,device_name=AMD_Instinct_MI355_OAM,cache_dtype=float16.json configuration

唯一变更文件,重新调整了 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 }
}

评论区精华

自动审核提示 other

claude[bot] 评论表示 PR 来自 fork,默认不自动审核,需维护者手动触发。

结论:未产生实质技术讨论。 · 已解决

风险与影响

风险极低:仅修改JSON配置,不影响核心逻辑;--validate确保所有tuned点通过CPU参考;--compare显示性能提升无退化;端到端lm_eval测试表明输出准确率不变。唯一风险是配置文件名需与设备名称精确匹配,否则会自动回退到默认启发式,性能可能下降,但不会崩溃。

仅影响AMD Instinct MI355X GPU上运行Mamba2模型(headdim=64, dstate=128, cache_dtype=float16)的用户,获得1.2-2.3倍decode内核加速;其他设备或模型无影响。维护成本降低(统一网格简化跨设备调优)。

配置变更 文件名依赖 仅影响 MI355X

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论