文件最后提交记录最后更新时间
fixdoc: clarify grouped matmul finalize routing docs Co-authored-by: zhangzhizhuo<zhangzhizhuo1@huawei.com> # message auto-generated for no-merge-commit merge: !5678 merge fixgmmdoc into master fixdoc: clarify grouped matmul finalize routing docs Created-by: zhangzhizhuo Commit-by: zhangzhizhuo Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> aclnnGroupedMatmulFinalizeRoutingV3 以及weightnz v2 文档存在若干问题。 shape与self相同。 此段描述冗余,可以删除。 out的第一维,可以补充描述,可以明确第一维的维度小于等于m。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue [#2632](https://gitcode.com/cann/ops-transformer/issues/2632) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 资料修改,不涉及测试。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新如下: gmm/grouped_matmul_finalize_routing/docs/aclnnGroupedMatmulFinalizeRoutingV3.md gmm/grouped_matmul_finalize_routing/docs/aclnnGroupedMatmulFinalizeRoutingWeightNzV2.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!56784 天前
gmmfr weightnz v2:修改编译告警,修改文档错误 Co-authored-by: zhangzhizhuo<zhangzhizhuo1@huawei.com> # message auto-generated for no-merge-commit merge: !5110 merge fixgmmfrdoc into master gmmfr weightnz v2:修改编译告警,修改文档错误 Created-by: zhangzhizhuo Commit-by: zhangzhizhuo Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复资料中的一处描述错误。 资料中的测试demo为pertoken量化,资料中笔误写为mx量化。 另外,资料中的demo存在类型转化的编译警告,补充显式的类型转化。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联issue [#2353](https://gitcode.com/cann/ops-transformer/issues/2353) 关联issue [#2352](https://gitcode.com/cann/ops-transformer/issues/2352) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 主要为资料修改,不涉及业务代码,测试demo,无编译告警。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新文档 gmm/grouped_matmul_finalize_routing/docs/aclnnGroupedMatmulFinalizeRoutingWeightNzV2.md ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!511016 天前
fix: code-check issues in grouped_matmul_finalize_routing and grouped_matmul Co-authored-by: shirui17@huawei.com<shirui17@huawei.com> # message auto-generated for no-merge-commit merge: !5032 merge master into master fix: code-check issues in grouped_matmul_finalize_routing and grouped_matmul Created-by: shi-rui Commit-by: shirui17@huawei.com Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. enum DataSize → enum class DataSize - File: grouped_matmul_finalize_routing_weight_quant_tiling.h/.cpp 2. Remove unused parameters from CheckOptionalShapes - File: grouped_matmul_finalize_routing_weight_quant_950_checker.h 3. Fix signed/unsigned mismatch in evenDivider - File: grouped_matmul_weight_quant_950_checker.cpp 4. Add MX_SCALE_LAST_DIM_SIZE constant - File: aclnn_grouped_matmul_finalize_routing.cpp 5. Add dimension comments for kFromW ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2390 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 执行二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!503216 天前
refactor(gmm): move fallback sources to op_graph Co-authored-by: smdbha<panzhijie2@huawei.com> # message auto-generated for no-merge-commit merge: !3247 merge master into master refactor(gmm): move fallback sources to op_graph Created-by: smdbha Commit-by: smdbha Merged-by: cann-robot Description: ## 描述 本次改动对部分 GMM 模块的目录结构进行了统一整理,核心目标是将 op_apiop_host 中独立出来,并将图侧 fallback_*.cpp 移动到同级 op_graph 目录。 本次涉及模块如下: - grouped_matmul - grouped_matmul_add - grouped_matmul_finalize_routing - grouped_matmul_swiglu_quant_v2 - quant_grouped_matmul_inplace_add 具体改动包括: 1. 将以下模块中的 op_host/op_api 调整为同级 op_api: - grouped_matmul - grouped_matmul_add - grouped_matmul_finalize_routing - grouped_matmul_swiglu_quant_v2 - quant_grouped_matmul_inplace_add 2. 将以下模块中的 fallback_*.cppop_host 移动到同级 op_graph: - grouped_matmul - grouped_matmul_finalize_routing - grouped_matmul_swiglu_quant_v2 - quant_grouped_matmul_inplace_add 3. 修改对应 op_host/CMakeLists.txt,适配独立后的 op_api 目录: - 增加 OP_API_INDEPENDENT ON - 增加 OP_API_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../op_api 4. 同步修正相关引用关系: - 更新 UT 中受影响的 include 路径 - 更新 classify_rule.yamlgrouped_matmulop_api 路径 - 修正 gmm/grouped_matmul/op_api/aclnn_grouped_matmul.cppgrouped_matmul_host_util.h 的相对 include 路径 - 删除迁移过程中新增的 CMake 说明性注释,保持脚本整洁 本次改动以目录整理和构建适配为主,不涉及算子功能逻辑变更。 ## 关联Issue 关联 Issue:#1421 ## 测试 已完成以下检查: - 检查相关模块目录结构,确认迁移后 op_apiop_graph 布局符合预期 - 检查旧路径残留,确认相关模块中不再保留旧的 op_host/op_api 目录引用 - 检查 fallback_*.cpp 已从 op_host 移动到对应 op_graph - 检查 CMakeLists.txt、UT 路径和 classify_rule.yaml 已同步更新 ## 文档更新 无 ## 类型标签 - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!32471 个月前
fix: code-check issues in grouped_matmul_finalize_routing and grouped_matmul Co-authored-by: shirui17@huawei.com<shirui17@huawei.com> # message auto-generated for no-merge-commit merge: !5032 merge master into master fix: code-check issues in grouped_matmul_finalize_routing and grouped_matmul Created-by: shi-rui Commit-by: shirui17@huawei.com Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. enum DataSize → enum class DataSize - File: grouped_matmul_finalize_routing_weight_quant_tiling.h/.cpp 2. Remove unused parameters from CheckOptionalShapes - File: grouped_matmul_finalize_routing_weight_quant_950_checker.h 3. Fix signed/unsigned mismatch in evenDivider - File: grouped_matmul_weight_quant_950_checker.cpp 4. Add MX_SCALE_LAST_DIM_SIZE constant - File: aclnn_grouped_matmul_finalize_routing.cpp 5. Add dimension comments for kFromW ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2390 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 执行二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!503216 天前
refactor(gmm): 解决gmm的同名 tool.h问题 Co-authored-by: chenbinbin199309<chenbinbin20@huawei.com> # message auto-generated for no-merge-commit merge: !5866 merge h4 into master refactor(gmm): 解决gmm的同名 tool.h问题 Created-by: chenbinbin199309 Commit-by: chenbinbin199309 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 将 gmm 模块下两个功能重复的 tool.h 整合为单一公共头文件: - gmm/grouped_matmul/op_kernel/arch35/weight_quant_basic_block/tool.h - gmm/grouped_matmul_finalize_routing/op_kernel/arch35/common/tool.h 整合后放置于 gmm/common/op_kernel/weight_quant_tool.h ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> Issue [#2660](https://gitcode.com/cann/ops-transformer/issues/2660) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> gmm_finalize_routing_weight_quant和group_matmul多个ttk用例执行通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!58662 天前
GMMFR 增加AIC:AIV 为1:2 的校验 Co-authored-by: renzetao<renzetao2@huawei.com> # message auto-generated for no-merge-commit merge: !5143 merge AICORE_RATIO into master GMMFR 增加AIC:AIV 为1:2 的校验 Created-by: renzetao Commit-by: renzetao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> GMMFR 增加AIC:AIV 为1:2 的校验 防止出现AIC:AIV非1:2场景出现精度问题和同步问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2371](https://gitcode.com/cann/ops-transformer/issues/2371) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 兼容性用例104个,全部通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!514317 天前
同步GMM代码 Co-authored-by: Hu1L1<chenshujian5@huawei.com> # message auto-generated for no-merge-commit merge: !546 merge move_all into master 同步GMM代码 Created-by: Hu1L1 Commit-by: Hu1L1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!5465 个月前
doc tools 工具扫描问题修改 Co-authored-by: gitee-yanglulu<yanglulul@h-partners.com> # message auto-generated for no-merge-commit merge: !3405 merge master into master doc tools 工具扫描问题修改 Created-by: gitee-yanglulu Commit-by: gitee-yanglulu Merged-by: cann-robot Description: doc tools 工具扫描问题修改 See merge request: cann/ops-transformer!34052 个月前
README.md

GroupedMatmulFinalizeRouting

产品支持情况

产品 是否支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品

功能说明

  • 算子功能:GroupedMatmul和MoeFinalizeRouting的融合算子,GroupedMatmul计算后的输出按照索引做combine动作

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x1 输入 输入x(左矩阵)。 INT8 ND
x2 输入 输入weight(右矩阵) INT4、INT8 ND、NZ
scaleOptional 输入 量化参数中的缩放因子,perchannel量化参数 INT64、BF16、FLOAT32 ND
biasOptional 输入 矩阵的偏移 BF16、FLOAT32 ND
offsetOptional 输入 非对称量化的偏移量 FLOAT32 ND
antiquantScaleOptional 输入 伪量化的缩放因子 FLOAT32 ND
antiquantOffsetOptional 输入 伪量化的偏移量 FLOAT32 ND
pertokenScaleOptional 输入 矩阵计算的反量化参数 FLOAT32 ND
groupListOptional 输入 输入和输出分组轴方向的matmul大小分布 INT64 ND
sharedInputOptional 输入 moe计算中共享专家的输出,需要与moe专家的输出进行combine操作 BF16 ND
logitOptional 输入 moe专家对各个token的logit大小 FLOAT32 ND
rowIndexOptional 输入 moe专家输出按照该rowIndex进行combine,其中的值即为combine做scatter add的索引 INT32、INT64 ND
dtype 属性 计算的输出类型:0:FLOAT32;1:FLOAT16;2:BFLOAT16。目前仅支持0。 INT64
sharedInputWeight 属性 共享专家与moe专家进行combine的系数,sharedInput先与该参数乘,然后在和moe专家结果累加。 FLOAT
sharedInputOffset 属性 共享专家输出的在总输出中的偏移。 INT64
transposeX 属性 左矩阵是否转置,仅支持false。 BOOL
transposeW 属性 右矩阵是否转置,仅支持false。 BOOL
groupListType 属性 分组模式:配置为0:cumsum模式,即为前缀和;配置为1:count模式。 INT64
tuningConfigOptional 属性 数组中的第一个元素表示各个专家处理的token数的预期值,算子tiling时会按照数组的第一个元素合理进行tiling切分,性能更优。从第二个元素开始预留,用户无须填写。未来会进行扩展。兼容历史版本,用户如不使用该参数,不传入(即为nullptr)即可。 INT64
out 输出 输出结果。 FLOAT32 ND
workspaceSize 输出 返回需要在Device侧申请的workspace大小。 - -
executor 输出 返回op执行器,包含了算子计算流程。 - -

约束说明

输入和输出支持以下数据类型组合:

x1 x2 scaleOptional biasOptional offsetOptional antiquantScaleOptional antiquantOffsetOptional pertokenScaleOptional groupListOptional sharedInputOptional logitOptional rowIndexOptional out
INT8 INT4 INT64 FLOAT32 FLOAT32 null null FLOAT32 INT64 BFLOAT16 FLOAT32 INT64 FLOAT32
INT8 INT4 INT64 FLOAT32 null null null FLOAT32 INT64 BFLOAT16 FLOAT32 INT64 FLOAT32
INT8 INT8(NZ) FLOAT32 null null null null FLOAT32 INT64 BFLOAT16 FLOAT32 INT64 FLOAT
INT8 INT8(NZ) FLOAT32 null null null null FLOAT32 INT64 BFLOAT16 FLOAT32 INT64 FLOAT
INT8 INT4(NZ) INT64 FLOAT32 FLOAT32 null null FLOAT32 INT64 BFLOAT16 FLOAT32 INT64 FLOAT
INT8 INT4(NZ) INT64 FLOAT32 null null null FLOAT32 INT64 BFLOAT16 FLOAT32 INT64 FLOAT

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_grouped_matmul_finalize_routing 通过aclnnGroupedMatmulFinalizeRoutingV3接口方式调用GroupedMatmulFinalizeRouting算子。
aclnn调用 test_aclnn_grouped_matmul_finalize_routing_weight_nz 通过aclnnGroupedMatmulFinalizeRoutingWeightNzV2接口方式调用GroupedMatmulFinalizeRoutingWeightNz算子。