| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(qgmm): harden initcheck for tiny shapes Co-authored-by: zhoushaolong<zhoushaolong3@huawei.com> # message auto-generated for no-merge-commit merge: !11447 merge fix/qgmm-inplace-add-initcheck into master fix(qgmm): harden initcheck for tiny shapes Created-by: zhoushaolong Commit-by: zhoushaolong Merged-by: cann-robot Description: ## 描述 加固 quant_grouped_matmul_inplace_add(cgmct 公共组件)对 tiny shapes 的处理,消除 initcheck 报出的未初始化状态读取,并修复小尺寸 group 非 block 对齐时的尾部加载问题。 改动原因(两处问题): 1. cgmct block 层 4 个模板(block_mmad_multi_block.h / block_mmad_multi_block_bias.h / block_quant_mmad_multi_block.h / block_quant_with_tile_mmad_multi_block.h)中 matmul 成员 MM matmul_; 为默认初始化,运行时状态不确定,Init/Iterate 对其做读-改-写更新前存在未初始化读取,tiny shapes 下触发 initcheck 报错; 2. kernel 层(kernel_qgmm_inplace_add.h / kernel_qgmm_inplace_add_mix_online_dynamic.h)未调用 SetOrgShape 传入逻辑 group 形状,matmul 实现无法对 GM/L1 尾部加载做裁剪,小 group 维度非 block 对齐时尾部加载异常。 改动方法: - block 模板成员改为值初始化 MM matmul_{};,使运行时状态在 Init/Iterate 前即为确定值; - kernel 在 tile 循环前调用 SetOrgShape(m, n, k)(mix online dynamic 版本加 ASCEND_IS_AIC 守护),将逻辑 group 形状与对齐后的 tile 形状分开,供 matmul 实现裁剪尾部加载。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5030 ## 测试 本 PR 未新增/修改测试用例;改动位于 gmm/common/cgmct 公共 block/kernel 模板,可由现有 quant_grouped_matmul_inplace_add UT 套件(tests/ut/)回归覆盖。 ## 文档更新 无 ## 类型标签 - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11447 | 13 天前 | |
MicroAPI替换为Reg(gmm) Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11151 merge compile into master MicroAPI替换为Reg(gmm) Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/4908 ## 描述 CANN 头文件中 MicroAPI 是 Reg 命名空间的别名(impl/basic_api/kernel_macros.h 中定义 namespace MicroAPI = Reg;),二者为同一命名空间的别名,替换为纯语义等价操作。本 PR 将 gmm 目录算子源码中的 MicroAPI 统一替换为 Reg(共 22 个文件)。 ### 提交结构(两笔) | 提交 | 内容 | |---|---| | 第1笔 | 纯文本替换 MicroAPI → Reg(22 文件,1367 增/1367 删,逐行校验一一对应) | | 第2笔 | git pc HEAD~1 补查后 pre-commit 自动修复(clang-format 因 Reg 缩短行宽对 15 个文件重排) | ### 改动说明 - 纯文本等价替换,不改变任何计算逻辑和函数签名;第2笔仅为 clang-format 空白重排,无语义变化 - 替换代码位于 arch35/arch38 路径或 __NPU_ARCH__ == 3510 宏保护内,仅 A5(及 Regbase 新核心)生效;A2/A3(arch22,Membase API)不受影响 - 同需求其余拆分:mc2 见 #11112,attention 见 #11128,moe 见 #11149;mamba 待 UT 修复后单独提交 ### 验证 - 逐行脚本校验:第1笔 diff 每对行满足 新行 == 旧行.replace('MicroAPI', 'Reg') - pre-commit 全量 hook 收敛(trailing-whitespace / EOF / clang-format 均 Passed) - 语义等价性由 CANN 头文件中的命名空间别名定义保证 See merge request: cann/ops-transformer!11151 | 19 天前 | |
feat(gmmsqv2): baseM balance Co-authored-by: Crrryyyy<chenruiyu4@huawei.com> # message auto-generated for no-merge-commit merge: !11214 merge sync-pr-10679-baseMBalance into master feat(gmmsqv2): baseM balance Created-by: Crrryyyy Commit-by: Crrryyyy Merged-by: cann-robot Description: ## 描述 为 grouped_matmul_swiglu_quant_v2 的 A8W8 Pertoken 内核同步 baseM balance 逻辑: - Nz 权重格式下,根据每个 group 的实际 M 计算均衡后的 baseM,并同步更新块调度器与坐标计算。 - ND 权重格式下跳过 BaseMBalance,继续使用 tiling 下发的原始 baseM,保持原有切块行为。 - 调整 UpdateNextProblem 的调用顺序,确保每个 group 使用对应的 baseM 更新调度状态。 - 补充尾块对齐、空块过滤和末组尾块切分处理。 ## 关联的Issue #5064 ## 测试 - git diff --check:通过。 ## 文档更新 不涉及。 ## 类型标签 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11214 | 12 天前 | |
pre-commit修复moe、gmm目录.h/.hpp历史格式问题 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11020 merge fix_2 into master pre-commit修复moe、gmm目录.h/.hpp历史格式问题 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/4850 ## 描述 对仓内算子源码提前做 pre-commit 历史格式问题清理,为后续功能改动(如 Regbase API 替换等)扫清钩子障碍,避免后续 PR 因格式问题被大面积格式化污染 diff。 处理方式: find <目录> -type f \( -name '*.h' -o -name '*.hpp' \) | xargs pre-commit run --files,多轮执行直到所有 hook 收敛(无 Failed / 无自动修复)。 修复内容(仅格式,不改任何代码语义): - 尾随空白(trailing whitespace) - 文件末尾换行(end of file) - clang-format 代码重排(换行、缩进、对齐,遵循仓内 .clang-format) ### 排除范围(不做格式化) - *_def.cpp 算子定义文件(排版由开发者自行维护,另见 PR #11041) - */op_api/aclnn*.h、*/op_graph/*_proto.h、*/op_host/op_api/aclnn*.h 接口/原型头文件(排版由开发者自行维护) - mamba/ 目录(该目录 causal_conv1d 算子 UT 上游基线存在失败,见 Issue #4840,本批不涉及) - examples/、experimental/ 目录 ### PR 拆分说明 全仓 .h/.hpp 清理共 2362 个文件,按场景目录拆分为 6 个 PR(分支不同、内容互不重叠,可独立 review 合入): | PR | 分支 | 范围 | |---|---|---| | #4878 | compile | attention 第1批(按算子字母序前段) | | #10422 | graph | attention 第2批(按算子字母序中段) | | #9331 | test | attention 第3批(按算子字母序后段) | | #10991 | fix | mc2 | | #11020 | fix_2 | moe、gmm | | #11021 | fix_3 | posembedding、mhc、ffn、common、tests、torch_extension | ## 测试 - 纯格式化改动:不改变任何代码语义,逐文件 diff 均为空白/换行/clang-format 重排 - pre-commit 全量 hook 收敛验证:多轮执行后 trailing-whitespace / end-of-file-fixer / clang-format 均 Passed - 建议合入前对相关算子做一次编译验证 See merge request: cann/ops-transformer!11020 | 20 天前 | |
MicroAPI替换为Reg(gmm) Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11151 merge compile into master MicroAPI替换为Reg(gmm) Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/4908 ## 描述 CANN 头文件中 MicroAPI 是 Reg 命名空间的别名(impl/basic_api/kernel_macros.h 中定义 namespace MicroAPI = Reg;),二者为同一命名空间的别名,替换为纯语义等价操作。本 PR 将 gmm 目录算子源码中的 MicroAPI 统一替换为 Reg(共 22 个文件)。 ### 提交结构(两笔) | 提交 | 内容 | |---|---| | 第1笔 | 纯文本替换 MicroAPI → Reg(22 文件,1367 增/1367 删,逐行校验一一对应) | | 第2笔 | git pc HEAD~1 补查后 pre-commit 自动修复(clang-format 因 Reg 缩短行宽对 15 个文件重排) | ### 改动说明 - 纯文本等价替换,不改变任何计算逻辑和函数签名;第2笔仅为 clang-format 空白重排,无语义变化 - 替换代码位于 arch35/arch38 路径或 __NPU_ARCH__ == 3510 宏保护内,仅 A5(及 Regbase 新核心)生效;A2/A3(arch22,Membase API)不受影响 - 同需求其余拆分:mc2 见 #11112,attention 见 #11128,moe 见 #11149;mamba 待 UT 修复后单独提交 ### 验证 - 逐行脚本校验:第1笔 diff 每对行满足 新行 == 旧行.replace('MicroAPI', 'Reg') - pre-commit 全量 hook 收敛(trailing-whitespace / EOF / clang-format 均 Passed) - 语义等价性由 CANN 头文件中的命名空间别名定义保证 See merge request: cann/ops-transformer!11151 | 19 天前 | |
pre-commit修复moe、gmm目录.h/.hpp历史格式问题 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11020 merge fix_2 into master pre-commit修复moe、gmm目录.h/.hpp历史格式问题 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/4850 ## 描述 对仓内算子源码提前做 pre-commit 历史格式问题清理,为后续功能改动(如 Regbase API 替换等)扫清钩子障碍,避免后续 PR 因格式问题被大面积格式化污染 diff。 处理方式: find <目录> -type f \( -name '*.h' -o -name '*.hpp' \) | xargs pre-commit run --files,多轮执行直到所有 hook 收敛(无 Failed / 无自动修复)。 修复内容(仅格式,不改任何代码语义): - 尾随空白(trailing whitespace) - 文件末尾换行(end of file) - clang-format 代码重排(换行、缩进、对齐,遵循仓内 .clang-format) ### 排除范围(不做格式化) - *_def.cpp 算子定义文件(排版由开发者自行维护,另见 PR #11041) - */op_api/aclnn*.h、*/op_graph/*_proto.h、*/op_host/op_api/aclnn*.h 接口/原型头文件(排版由开发者自行维护) - mamba/ 目录(该目录 causal_conv1d 算子 UT 上游基线存在失败,见 Issue #4840,本批不涉及) - examples/、experimental/ 目录 ### PR 拆分说明 全仓 .h/.hpp 清理共 2362 个文件,按场景目录拆分为 6 个 PR(分支不同、内容互不重叠,可独立 review 合入): | PR | 分支 | 范围 | |---|---|---| | #4878 | compile | attention 第1批(按算子字母序前段) | | #10422 | graph | attention 第2批(按算子字母序中段) | | #9331 | test | attention 第3批(按算子字母序后段) | | #10991 | fix | mc2 | | #11020 | fix_2 | moe、gmm | | #11021 | fix_3 | posembedding、mhc、ffn、common、tests、torch_extension | ## 测试 - 纯格式化改动:不改变任何代码语义,逐文件 diff 均为空白/换行/clang-format 重排 - pre-commit 全量 hook 收敛验证:多轮执行后 trailing-whitespace / end-of-file-fixer / clang-format 均 Passed - 建议合入前对相关算子做一次编译验证 See merge request: cann/ops-transformer!11020 | 20 天前 | |
swiglu_gated_mlp/cgmct删除MakeLayoutByFormat的constexpr修饰 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11275 merge test into master swiglu_gated_mlp/cgmct删除MakeLayoutByFormat的constexpr修饰 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: 关联Issue https://gitcode.com/cann/ops-transformer/issues/4963 ## 描述 删除 MakeLayoutByFormat 函数签名上的 constexpr 修饰(2 个同名副本文件,各 1 行): - experimental/ffn/swiglu_gated_mlp/op_kernel/common/matmul_act/utils/layout_utils.h - gmm/common/cgmct/utils/cgmct_layout_utils.h 背景:GCC 新版本引入不兼容变更——constexpr 函数体内不允许调用非 constexpr 函数。该函数体内调用了 AscendC::MakeLayout/MakeShape/MakeStride 等非 constexpr 接口,属于调用栈上层的 constexpr,需要删除。在变更前该 constexpr 实际也不生效(无法编译期求值),删除无语义影响。 ## 提交结构(两笔) | 提交 | 内容 | |---|---| | 第1笔 | 纯改动:删除 constexpr 修饰(2 文件各 1 行) | | 第2笔 | pre-commit 格式化修复(clang-format 重排 + 文件末尾换行,均为存量格式问题) | ## 测试 CI 流水线验证(已评论 compile 触发)。 See merge request: cann/ops-transformer!11275 | 18 天前 |