| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 | 8 小时前 | |
gmm 相关代码 CleanCode 规范整改 Co-authored-by: cw<chenwei689@huawei.com> # message auto-generated for no-merge-commit merge: !10852 merge master into master gmm 相关代码 CleanCode 规范整改 Created-by: weixin_54263091 Commit-by: cw Merged-by: cann-robot Description: ## 描述 部分代码不符合编程规范,还有部分函数过大,没达到CleanCode要求。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4698 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 二级冒烟 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!10852 | 10 小时前 | |
perf(gmmaq): fit epilogue UB double buffer for target shape Co-authored-by: zhoushaolong<zhoushaolong3@huawei.com> # message auto-generated for no-merge-commit merge: !11198 merge perf/gmmaq-epilogue-ub-db-basem-224-20260903 into master perf(gmmaq): fit epilogue UB double buffer for target shape Created-by: zhoushaolong Commit-by: zhoushaolong Merged-by: cann-robot Description: ## 描述 针对 Ascend950 arch35 的 GroupedMatmulActivationQuant(GMMAQ)tiling,增加 epilogue UB 双缓冲的空间适配逻辑。 主要改动如下: - 新增 epilogue UB 空间估算,综合计算中间结果、量化结果、scale 以及双缓冲所需的 UB 空间。 - 在 baseM 经过基础 tiling 计算和 UB 上限约束后,检查当前分块是否能够容纳 epilogue 双缓冲。 - 当 UB 空间不足时,按照 GmmConstant::CUBE_BLOCK 步长递减搜索可用的 baseM。 - 仅在调整后的平均分块数量不增加时更新 baseM,避免引入额外的分块开销。 - 在执行 L1 tiling 前完成 baseM 调整,确保后续 tiling 参数基于最终分块尺寸计算。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/4955 ## 测试 本次未新增或修改测试文件。现有 grouped_matmul_activation_quant host UT 包含对 epilogue 每个 AIV 的元素数量上限校验,但当前 PR 未提供具体测试执行记录,需补充相关测试结果。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11198 | 1 天前 | |
整改仓内+安装重名头文件 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !11266 merge clear_h into master 整改仓内+安装重名头文件 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 整改仓内及安装场景下的重名头文件冲突,避免同名头文件在编译包含路径或安装打包时互相覆盖。 **改动原因** - 仓内 attention/、gmm/、示例工程等存在 basename 相同的头文件,易在统一 include 搜索路径下发生错误包含。 - 与 third_party(如 catlass)及主仓多算子之间存在安装侧重名,可能覆盖安装产物。 **采取的方法** 1. **仓内重名**(637b7145f):对易冲突头文件按模块加前缀消歧,并同步更新引用,例如: - BSA / GBSA:block_epilogue_* / block_mmad_* → bsa_* / gbsa_* - recurrent_kda:recurrent_kda.h → recurrent_kda_arch22.h / recurrent_kda_arch35.h - grouped_matmul:grouped_matmul_kernel.h → grouped_matmul_kernel_arch35.h / fkl_grouped_matmul_kernel.h 等 - metadata:generic_block_sparse_attention_metadata.h → generic_block_sparse_attention_metadata_tiling.h 2. **安装重名**(975ffde47):对 GBSA/BSA/GMM 基础设施头文件统一加模块前缀(gbsa_ / bsa_ / gmm_,epilogue/gemm/tla 再细分),git mv 后批量更新 #include;**不改** experimental/ 与 third_party/。 3. 同步调整 scripts/check_duplicate_headers.sh 等相关引用。 **范围说明**:本次仅为头文件重命名与 include 路径同步,无业务逻辑变更(约 151 个文件,增删对等)。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5037 ## 测试 ## 文档更新 ## 类型标签 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11266 | 2 天前 | |
gmm 相关代码 CleanCode 规范整改 Co-authored-by: cw<chenwei689@huawei.com> # message auto-generated for no-merge-commit merge: !10852 merge master into master gmm 相关代码 CleanCode 规范整改 Created-by: weixin_54263091 Commit-by: cw Merged-by: cann-robot Description: ## 描述 部分代码不符合编程规范,还有部分函数过大,没达到CleanCode要求。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4698 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 二级冒烟 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!10852 | 10 小时前 | |
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 | 7 天前 | |
gmm 相关代码 CleanCode 规范整改 Co-authored-by: cw<chenwei689@huawei.com> # message auto-generated for no-merge-commit merge: !10852 merge master into master gmm 相关代码 CleanCode 规范整改 Created-by: weixin_54263091 Commit-by: cw Merged-by: cann-robot Description: ## 描述 部分代码不符合编程规范,还有部分函数过大,没达到CleanCode要求。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4698 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 二级冒烟 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!10852 | 10 小时前 | |
fix example bug Co-authored-by: guijianwei<guijianwei@huawei.com> # message auto-generated for no-merge-commit merge: !11428 merge master into master fix example bug Created-by: guijianwei Commit-by: guijianwei Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 831 trans仓 aclnnDenseLightningIndexerGradKLLoss.md 参数preTokens/nextTokens默认值文档说明为2^63-1,但代码示例中赋值为2147483647(2^31-1),存在矛盾。 默认值2^63-1。 833 trans仓 aclnnDenseLightningIndexerGradKLLoss.md softmaxMax参数维度说明与代码示例不一致,文档为4维/3维,代码为3维。 (B,N2,S1,G);(N2,T1,G) 834 trans仓 aclnnDenseLightningIndexerGradKLLoss.md 变量命名与API参数不一致:第851行代码示例中局部变量名为'layOut'(O为大写),而API接口中参数名为'layout'(全小写)。虽然C++中局部变量名与API参数名独立,但命名不一致容易让读者误以为两者应保持一致,造成困惑。 char layOut[5] = {'T', 'N', 'D', 0}; 1269 trans仓 aclnnLightningIndexer.md [2.3 标点符号-代码格式] 易用:示例代码调用aclnnLightningIndexerGetWorkspaceSize时'nextTokens,returnValue,'逗号后无空格,不符合C++代码格式规范。 layoutQuery, layoutKey, sparseCount, sparseMode, preTokens, nextTokens,returnValue, 1990 trans仓 aclnnQuantGroupedMatmulDequant.md 正确性 2.5 命令行/示例可执行性 FAIL:调用示例中 groupListHostData 四次赋值均写入索引[0](7/32/40/64 全部赋给下标0),最后一次赋值会覆盖前三次,应分别写入[0]/[1]/[2]/[3] " groupListHostData[0] = 7; groupListHostData[0] = 32; groupListHostData[0] = 40; groupListHostData[0] = 64;" 1991 trans仓 aclnnQuantGroupedMatmulDequant.md 调用示例代码中groupListHostData数组的4次赋值全部写入索引[0],导致只有最后一个值64生效,前缀和数组应依次为groupListHostData[0]=7、[1]=32、[2]=40、[3]=64。 "groupListHostData[0] = 7; groupListHostData[0] = 32; groupListHostData[0] = 40; groupListHostData[0] = 64;" ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> Issue #5061 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 示例代码验证OK [2026-09-07 20:23:19] mean result[5] is: -0.000000 [2026-09-07 20:23:19] mean result[6] is: -0.000000 [2026-09-07 20:23:19] mean result[7] is: -0.000000 [2026-09-07 20:23:19] mean result[0] is: 0.000000 [2026-09-07 20:23:19] run test_aclnn_dense_lightning_indexer_grad_kl_loss, execute samples success [2026-09-07 20:23:19] Example completed successfully (gjw_) [root@localhost ops-transformer]# ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11428 | 1 天前 | |
fix(qgmm): preserve nullptr parameter error codes Co-authored-by: zhoushaolong<zhoushaolong3@huawei.com> # message auto-generated for no-merge-commit merge: !11474 merge fix/qgmm-inplace-add-nullptr-error into master fix(qgmm): preserve nullptr parameter error codes Created-by: zhoushaolong Commit-by: zhoushaolong Merged-by: cann-robot Description: ## 描述 修复 quant_grouped_matmul_inplace_add 算子 op_api 参数校验中空指针错误码被覆盖的问题。 当必填输入(scale2 / groupList / y 等)传入 nullptr 时,CheckNotNull 返回 ACLNN_ERR_PARAM_NULLPTR,但该错误码在两处被 ACLNN_ERR_PARAM_INVALID 覆盖,导致调用方无法区分"参数为空指针"与"参数非法": 1. CheckParams 中 CHECK_RET(CheckNotNull(params) == ACLNN_SUCCESS, ACLNN_ERR_PARAM_INVALID) 将空指针错误统一改写为 ACLNN_ERR_PARAM_INVALID; 2. aclnnQuantGroupedMatmulInplaceAddGetWorkspaceSizeCommon 中 CHECK_RET(ret == ACLNN_SUCCESS, ACLNN_ERR_PARAM_INVALID) 再次覆盖 CheckParams 的真实返回码。 修复方法: - CheckParams 中空指针检查失败时返回 ACLNN_ERR_PARAM_NULLPTR; - aclnnQuantGroupedMatmulInplaceAddGetWorkspaceSizeCommon 中直接透传 CheckParams 的返回码,不再覆盖。 ## 关联的Issue #5106 ## 测试 - UT(op_api)新增 runMode 机制,将 nullptr 覆盖用例纳入 csv 数据驱动框架:test_aclnn_quant_grouped_matmul_inplace_add.cpp 支持 SCALE2_NULL / GROUP_LIST_NULL / Y_NULL 三种模式,分别将 scale2 / groupList / y 置空并通过 TestGetWorkspaceSizeWithNNopbaseInner 校验返回码; - test_aclnn_quant_grouped_matmul_inplace_add.csv 表头新增 runMode 列,原有 5 条用例以 GET_WORKSPACE 模式回归原路径;新增 3 条用例 required_scale2_null / required_group_list_null / required_y_null(Ascend950),期望返回 ACLNN_ERR_PARAM_NULLPTR。 ## 文档更新 无 ## 类型标签 - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11474 | 10 小时前 | |
同步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!546 | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 8 小时前 | ||
| 10 小时前 | ||
| 1 天前 | ||
| 2 天前 | ||
| 10 小时前 | ||
| 7 天前 | ||
| 10 小时前 | ||
| 1 天前 | ||
| 10 小时前 | ||
| 8 个月前 |