已开启
[Feature]: hyper-parallel 注册 npu_mhc_pre_cmhc 融合算子并接入框架 #317
xbgordon创建于  8月6日
xbgordon
xbgordon成员
8月6日 创建

🚀 功能描述

需求背景

非融合 HyperConnectionModule 已支持 CMHC 路径(enable_cmhc=True,置换-softmax 混合投影),但融合路径 FusedHyperConnectionModule 只实现了 Sinkhorn,不支持 CMHC。当 use_fused_mhc=True + enable_cmhc=True 时会回退到非融合路径,无法享受融合算子的性能收益。

需求目标

新增 CMHC 前处理融合算子 npu_mhc_pre_cmhc 并接入 hyper-parallel,使 use_fused_mhc=True + enable_cmhc=True 组合能走融合 CMHC 路径,打通 ops-transformer 算子层 → hyper-parallel DFunction → mindformers 调用链。

改动范围

  • 新增 AscendC kernel mhc_pre_cmhc.cc(前向)+ mhc_pre_cmhc_backward.cc(反向),通过 AclnnOpRunner 启动 aclnn
  • 注册 NpuMhcPreCmhcDFunction(custom_op_impl.py),实现 forward/backward,算子自带 bprop
  • 导出公开 API npu_mhc_pre_cmhc(experimental_ops.py + experimental/__init__.py)
  • 新增分布式算子 parallel_mhc_pre_cmhc(core/shard/ops/)+ yaml 注册
  • torch 侧 __init__.py 同步导出

关键约束

  • n(残差流数量)当前仅支持 4
  • gamma 保持为 required tensor(nullptr 会让 aclnn 运行时崩溃)
  • ACLNN ABI 详见 ops-transformer/mhc/mhc_pre_cmhc/

现有替代方案

Thanks for contributing 🎉!

与DFX相关性DF

Thanks for contributing 🎉!

提议的新API

Thanks for contributing 🎉!

是否影响现有API

Thanks for contributing 🎉!

补充信息

Thanks for contributing 🎉!

Thanks for contributing 🎉!

likedislike
xbgordonxbgordon成员
8月6日 添加了label:feature
changzheruichangzherui成员
8月6日 关闭了 issue
MindSpore-Bot
MindSpore-Bot成员
8月6日 评论:

Notice

@ , this issue is linked to an open PR. Please merge the PR before closing this issue.

likedislike
MindSpore-BotMindSpore-Bot成员
8月6日 重新打开了 issue
Mmindspore-ci-bot成员
9 天前 关联了pull request:[mirror] mindspore-ai/hyper-parallel#92: feat(core/shard): add parallel_mhc_pre_cmhc op
Mmindspore-ci-bot成员
9 天前 关联了pull request:[mirror] mindspore-ai/hyper-parallel#56: feat(custom-ops): add mhc_pre_cmhc / situ_glu operators