已开启
【SEG评审】DVM fusion control switche #5
SorryNaCN创建于  6月16日
SorryNaCN
SorryNaCN成员
6月16日 创建

SEG评审资料:DVM fusion control switches

背景

JD现场图模式问题定位和性能调试需要按场景快速收敛 DVM fusion 行为。当前部分融合策略可能存在泛化不完全风险,如果在商发分支中直接默认开启,可能影响非目标模型或非目标图形态。因此本次仅增加默认关闭/空值的环境变量控制开关,用于现场调试、问题规避和分阶段验证。

变更范围

涉及商发分支 MR:

新增环境变量

  1. INDUCTOR_DVM_ENABLE_MATMUL_BACKWARD_DECOMP=1

    • 作用:按需注册 DVM 路径的 matmul_backward 分解。
    • 默认:0,不改变默认行为。
  2. INDUCTOR_DVM_GRAPH_FUSION_ONLY_MATMUL_GRAPHS=1

    • 作用:graph fusion 仅融合包含 mm/bmm/addmm 的子图,用于缩小融合范围。
    • 默认:0,不改变默认行为。
  3. INDUCTOR_DVM_GRAPH_FUSION_ONLY_MATMUL_OPS=1

    • 作用:graph fusion 支持算子列表收敛到 matmul 类算子,用于现场问题隔离。
    • 默认:0,不改变默认行为。
  4. INDUCTOR_DVM_ENABLE_VIEW_OPS_LOWERING="slice,permute,chunk"

    • 作用:按逗号列表选择性加入实验性 lowering 支持。当前支持 selectpermuteslicechunkclonecopycopy_
    • 设计动机:DVM 可能不直接支持列表中的算子,但希望借助 lowering 能力将其中的 view 类算子转换为 reinterpret_tensor,减少 host 侧图处理和调度开销,用于 JD 现场性能调试。
    • 默认:空值,不额外加入实验性 lowering。

风险评估

  • 默认行为不变:新增开关默认关闭或空值,不影响现网默认路径。
  • 使用范围受控:仅用于 JD 现场调试、问题定位和临时规避。
  • 泛化风险受控:对可能泛化不完全的融合能力使用环境变量显式开启,避免默认影响其他模型。
  • 回退方式明确:删除对应环境变量或恢复默认值即可回退。

验证计划

  • 已执行相关 Python 文件 py_compile 检查。
  • 已执行 git diff --check 检查。
  • 三个 MR 已评论 compile 触发门禁验证。
  • 现场使用时按单个环境变量逐项开启,确认收益和风险边界。

评审结论

请 SEG 评审新增环境变量控制开关是否可用于商发分支 JD 现场调试。

likedislike