Closed
[Documentation|文档问题]: moe/moe_finalize_routing: README 公式求和上界错误且约束说明为空 #6735
zhu_qiAdd on 14 days agoClosed at 10 days ago
周云飞
14 days ago Comments:
14 days ago Comments:
感谢指出这两处文档问题。
关于求和上界,按您提供的 j < K_ 循环,若公式中的 K 与实现中的 K_ 含义一致,参与累加的应为 K 项,即下标从 0 到 K−1。因此,将公式改为 是合理的修订方向,可以避免现有写法被理解为累加 K+1 项。这属于公式表述问题,不能据此认定实际计算也多执行了一次。
关于「约束说明」,建议分别补充输入形状关系、索引类型和产品支持限制,而不是笼统写为「无」:
- 形状约束应逐个说明输入的维数、哪些输入需要同行或同列,以及可选输入存在时的要求;具体数值范围应以实际校验和实现限制为依据,不宜直接推定。
- 两个索引输入需要明确标注 INT32。当前内核片段中,两者均使用
GlobalTensor<int32_t>,这支持在文档中明确索引类型要求。 - BFLOAT16 需要区分通用类型支持与产品限制。类型推导允许 BFLOAT16,但已提供的内核入口中,相关 BFLOAT16 分支在
__NPU_ARCH__为 3003 或 3113 时被排除。因此,不能仅凭类型推导就认定所有产品均支持;写入 Kirin X90 / 9030 的限制前,还需确认产品名称与架构条件的对应关系。
目前提供的片段尚未覆盖 README 原文、求和循环及完整形状校验,具体维度关系和 Shape 范围仍需进一步确认。可行的处理方向是修正文档公式,并将已核实的输入约束和产品限制同步补入「约束说明」,不改变算子的计算行为。


14 days ago Assign azyuli as responsible person
10 days ago Associated pull request
10 days ago Close issue
10 days ago Added label: resolved
一、问题描述(必填)
moe/moe_finalize_routing/README.md存在两处文档问题:j < K_(见op_kernel/moe_finalize_routing_fp.h),应为 k=0 到 K−1。二、涉及文件
moe/moe_finalize_routing/README.md约第 26 行(公式)、第 104 行(约束说明)moe/moe_finalize_routing/op_kernel/moe_finalize_routing_fp.h(for (j = 0; j < K_; j++))moe/moe_finalize_routing/op_host/moe_finalize_routing_infershape.cpp(维度与 dtype 校验)三、建议修改
expandedRowIdx/expandedExpertIdx为 INT32、Kirin 不支持 BF16,以及必要的 Shape 范围说明。