已关闭
[Requirement|需求建议]: MoeComputeExpertTokens、MoeFinalizeRouting、MoeFinalizeRoutingV2、MoeInitRouting、MoeInitRoutingQuant算子需要新增fallback实现 #5097
wuxiyuan创建于  9月8日关闭于  9月10日
wuxiyuan成员
9月8日 创建

Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.

Backgroud(背景信息)

ops-transformer 仓库中 MoeComputeExpertTokens、MoeFinalizeRouting、MoeFinalizeRoutingV2、MoeInitRouting、MoeInitRoutingQuant 共 5 个 MoE(Mixture of Experts)系列算子目前仅有 NPU 侧实现,缺少 op_graph fallback(Host 侧执行)实现。

在不支持 NPU 侧执行的部署形态或图执行场景下,上述算子无法回落到 Host 侧调用 opapi 执行,导致整图执行失败,影响 MoE 模型在相关环境下的可用性。

Design(设计方案)

为上述 5 个算子各新增 op_graph/fallback_*.cpp 实现文件:

  1. 通过 IMPL_OP(OpName).OpExecuteFunc(...) 注册宿主侧执行函数
  2. 执行函数内完成输入/输出/属性空指针及合法性校验(如 num_experts >= 1)
  3. 正确处理可选输入(MoeFinalizeRouting 的 skip2、MoeFinalizeRoutingV2 的 8 个可选输入)及输入索引偏移
  4. MoeFinalizeRoutingV2 的 expert range 属性需从 ContinuousVector 转换为 aclIntArray,且资源生命周期需正确管理(RAII)
  5. 经 EXEC_OPAPI_CMD 透传调用对应 aclnn opapi 接口,返回值正确传播
likedislike
Wwuxiyuan成员
9月8日 添加了label:requirement
Wwuxiyuan成员
9月8日 将 wuxiyuan 设为负责人
Wwuxiyuan成员
9月8日 修改了issue 的描述
游震成员
9月8日 评论:

/assign @wuxiyuan

likedislike
CANN-robotCANN-robot成员
9月10日 关闭了 issue
CANN-robotCANN-robot成员
9月10日 添加了label:resolved