2026-08-20
ROCm 融合 DSV4 mHC 与 RMSNorm 内核,吞吐约增 1%
值得精读,尤其是对 kernel 融合接入模式和 ROCm 后端开发有兴趣的工程师。重点关注三点:`_aiter_ops.py` 中 `mhc_fused_post_pre` 的返回值顺序转换与空 token 分支、`model.py` 中融合能力的条件探测(`hc_mult == 4` + hidden size 白名单)、以及 `mhc.py` 各 `forward_hip` 中 AITER/TileLang/torch 的三级回退结构。若后续推广类似融合,建议补上覆盖 fake/meta 与回退路径的单元测试,并考虑把 hidden size 白名单收敛为 AITER 侧的查询接口,避免多处硬编码。
修复 DeepEP v2 下 TRTLLM BF16 的 top_k 错位崩溃
值得快速精读:核心修复只有一行,但它点出了一个重要的数据契约问题——同一 topk_ids 在不同调度路径(eager/cudagraph、DeepEP v2 expanded/普通展开)下形状语义不同,kernel 参数必须跟随实际数据布局而非模型配置。测试重构(`_make_experts` 参数化多后端)也值得借鉴,可作为 MoE kernel 测试的统一模式。
为 benchmark_moe.py 新增 Kimi K3 MoE 参数解析分支
值得快速阅读并纳入 benchmark 工具链。虽然改动很小,但展示了多模态模型 MoE config 解析的两个易踩坑点:参数嵌套在 `text_config` 中、top-k 字段命名差异(`num_experts_per_token` vs `num_experts_per_tok`)。建议后续为 `get_model_params()` 补充针对不同架构 config 的单元测试,固化字段名映射,防止未来架构新增时再次回退崩溃。
Marlin 支持 CT block FP8 的 scale 命名兼容
值得精读。这是一个典型的数据契约兼容修复,展示了如何在共享内核抽象上兼容不同量化框架的 scale 命名差异。重点关注 `_block_scale_name` 的探测逻辑、`process_weights_after_loading` 与原属性名写回的配合,以及测试参数化如何覆盖 auto 与强制 Marlin 两条路径;同时可结合 #52182 与 #52908 理解前向修复与回退方案之间的取舍。
回退 Gemma-4 FA4 FP8 内核支持,恢复 FA3 默认路径
值得精读,尤其是 Gemma-4 模型支持、flash-attention 集成和推测解码方向的开发者。可以关注两点:一是回退选择了删除配置感知接口、改用 set_current_vllm_config 上下文对象,这种避免 API 扩散的做法可复用;二是 _copy_target_kv_scales 连同 FP8 KV scale 共享修复一起被移除,说明该问题在 MRV2 阶段被有意搁置。若团队计划重新引入 FA4,建议先建立覆盖 SM90 FP8 KV 与 MTP 的回归测试基线。
为 CT WNA16 MoE 开启 Humming 后端,支持子字节位宽
值得精读。重点关注三类设计决策:用 Fraction + ceil 处理 sub-byte 打包维度、Humming 支持判定如何与权重 key 数据契约结合、以及 torch.dtype 与 ScalarType 统一字符串化的处理方式。同时值得学习 review 中从 mock 测试演进到 e2e 测试的过程。
修复 Triton 融合共享专家对齐计数,解决 MoE 精度崩溃
建议精读本 PR,它揭示了一个关键的数据契约细节:融合共享专家后,物理专家数可能与 global_num_experts 不一致。值得关注的设计决策是:在无 expert map 时使用实际权重行数,有 expert map 时保持原逻辑,这平衡了正确性与 EP 兼容性。同时,文档或注释可增强对专家计数语义的说明。