| Files | Last commit | Last update |
|---|---|---|
pre-commit修复posembedding、mhc、ffn等目录.h/.hpp历史格式问题 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11021 merge fix_3 into master pre-commit修复posembedding、mhc、ffn等目录.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!11021 | 2 months ago | |
feat(posembedding): 迁移 RotaryPositionEmbedding 融合 pass 至新 Pass 框架 Co-authored-by: alfengyuan<yyfgdut@gmail.com> # message auto-generated for no-merge-commit merge: !12271 merge feature/posembedding-rpe-fusion-pass-5397 into master feat(posembedding): 迁移 RotaryPositionEmbedding 融合 pass 至新 Pass 框架 Created-by: alfengyuan Commit-by: alfengyuan Merged-by: cann-robot Description: ## 描述 将 canndev 内建 rope_fusion_pass 中的 RotaryMul2RotaryPositionEmbeddingFusionPass(RotaryMul → RotaryPositionEmbedding,mode=0)迁移到算子仓,基于 ge::fusion::PatternFusionPass + ES 接口重写。 要点: - 类名与 canndev 逐字相同,REG_FUSION_PASS 注册 kCompatibleInherited 阶段,运行时同名顶替内建 pass,canndev 侧保留不动; - RotaryMul 无 ES API,pattern 侧用 CompliantNodeBuilder 构图;替换侧使用 es::RotaryPositionEmbedding(x, cos, sin, nullptr, 0); - 平台门控复刻旧 IsRegBase 语义:short_soc_version ∈ {Ascend950, Ascend350, MC62CM12A}(NpuArch 3510/5102); - 版本守卫 CANN_VERSION_NUM >= 90000000(kCompatibleInherited 自 9.0 引入),头文件 guard 采用 TRANSFORMER_ 前缀避免与 canndev 宏撞名; - tests/ut/framework_normal/op_graph/CMakeLists.txt 补链 ge_compiler、opp_registry(PatternFusionPass 类 UT 必需;该基建改动在 #5398/#5399 的 PR 中同样携带,内容一致,合入顺序无关)。 ## 关联的Issue 关联Issue #5397 ## 测试 - 新增 op_graph UT 5 例(pattern 创建、Ascend910B 不融合、Ascend950/Ascend350/MC62CM12A 融合成功、mode attr 与输入边校验),全部通过; - 真机 Ascend950 图模式验证:同名顶替生效(我方 pass 执行、内建零命中),数值与 golden 一致; - 回归:ttk e2e npu_rotary_mul 93/93 全绿。 ## 文档更新 无 ## 类型标签 - [x] ✨ 新特性 See merge request: cann/ops-transformer!12271 | 1 month ago | |
ci(compile): 新增 build.sh --PR_COMPILE 编译范围推导机制(白名单优先 + depends反向闭包 + def SoC过滤) Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !13100 merge test into master ci(compile): 新增 build.sh --PR_COMPILE 编译范围推导机制(白名单优先 + depends反向闭包 + def SoC过滤) Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 描述 新增 PR 编译范围推导机制,替代原先由 tests/test_config.yaml(example 看护规则)间接决定编译范围的方式。**本 PR 为纯新增:不改任何现有逻辑/任务,UT 维持原状,master 上无 --PR_COMPILE 调用方,对现存 CI 零影响。** ### 1. 推导流程(cmake/scripts/parse_compile_scope.py) 变更文件 → 映射为 <domain>/<op> 键(仅认 attention/ffn/gmm/mamba/mc2/mhc/moe/posembedding 八个大目录;docs/、.md/.json/.ini 跳过)→ 按以下顺序决定编译清单: 1. **白名单优先**:直接变更的算子命中 tests/compile_scope_whitelist.yaml 时,按其 impact(完整编译清单)+ soc(必填,加载即校验,缺失直接报错)选定。当前收录 18 条目:attention/*_metadata(impact=自身+对应无后缀算子,soc 按无后缀 def 推导)、AICPU 算子 attention_worker_scheduler/ffn_worker_scheduler(仅 ascend910b)、mhc/mhc_sinkhorn_common(impact 为 mhc_sinkhorn 正反向,ascend950)。 2. **未命中走正规流程**:op_host/CMakeLists.txt 的 *_depends(兼容 PARENT_SCOPE 与 CACHE INTERNAL 标记)反向闭包,拉出所有声明依赖变更算子的下游;再按 *def.cpp 的 AICore AddConfig 做目标 SoC 过滤。 3. **域内 common/3rd**:变更映射为共享键(如 mc2/common),经 depends 反向闭包触发所有依赖它的算子(如改 mc2/common @910b → 17 个 mc2 算子)。 ### 2. SoC 依据 唯一依据为 def.cpp AddConfig(支持 ascend 短名/长名互认);op_host/config/<soc> 目录已废弃不作依据。def 中宏/变量等非常规写法的识别待 def 规范化后加强。 ### 3. build.sh 集成 新增 --PR_COMPILE <pr_filelist> 选项(注意 --soc 需在其前传):推导为空时打印提示并 exit 200(CI 侧约定 200=跳过成功);非空时设为 ascend_op_name 并进入 custom pkg 编译(出 kernel bin)。 ### 4. 白名单自检 python3 cmake/scripts/parse_compile_scope.py --check:校验白名单条目(算子存在、impact 目标存在、soc 合法、impact 为列表、soc 必填),有错非零退出逐条打印。已挂 pre-commit compile-scope-whitelist-check(仅白名单文件变更时触发)。 ### 5. 已确认的边界(不在本 PR 处理) - ascend310p/ascend350 暂不编译(后续单独出方案);多 SoC 单构建不支持(CI 走单 SoC 命令); - 框架级变更(根目录脚本/cmake 公共件)不触发编译范围,由改动方自行验证; - UT 逻辑完全不动(test_soc_config.yaml/get_soc_version.py 保留原样)。 ## 关联的Issue 关联Issue #5732;配套 CI 任务拆分(arch22/arch35)见 #13016(依赖本 PR,需后合入)。 ## 测试 - 语法:bash -n / py_compile / yaml / ruff 全过,pre-commit 全绿; - 推导用例:metadata 白名单(@950→flash_attn+metadata)、AICPU 白名单(@910b 命中、@950 空)、mhc_sinkhorn_common(@950→正反向)、mc2/common 闭包(@910b→17 算子)、dispatch_v2 闭包(@arch22→7 算子)、框架变更空范围; - 端到端:build.sh --soc=ascend950 --PR_COMPILE 实编成功(kernel bin 产出),空范围 exit 200。 ## 后续(另起 PR) depends drift 持续看护、def.cpp AddConfig 写法规范化、#13016 的 CI 任务拆分接入。 See merge request: cann/ops-transformer!13100 | 1 month ago | |
添加pybind11依赖声明 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !9952 merge add_module into master 添加pybind11依赖声明 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 - requirements.txt中增加pybind11依赖声明 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4283 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [x] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9952 | 3 months ago | |
补充kda_input_proj算子的ut和st Co-authored-by: yolic<chenyuning1@huawei.com> # message auto-generated for no-merge-commit merge: !12470 merge ut_kda into master 补充kda_input_proj算子的ut和st Created-by: yolic Commit-by: yolic Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 补充kda_input_proj算子的ut和st ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue [#5519](https://gitcode.com/cann/ops-transformer/issues/5519) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 补充了测试看护,流水线已通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!12470 | 1 month ago | |
megamoe fix ut Co-authored-by: lyt_claire<luyitong1@huawei.com> # message auto-generated for no-merge-commit merge: !6689 merge megamoe_fix_master into master megamoe fix ut Created-by: lyt_claire Commit-by: lyt_claire Merged-by: cann-robot Description: ## 描述 修复megamoe UT ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [x] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6689 | 5 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 2 months ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 3 months ago | ||
| 1 month ago | ||
| 5 months ago |