| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(cmake): prebed include/aicpu path in Findaicpu.cmake Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !11402 merge feat/prebed-include-aicpu-path into master feat(cmake): prebed include/aicpu path in Findaicpu.cmake Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 在 Findaicpu.cmake 中为已安装依赖包构建场景补充 include/aicpu 头文件搜索路径,预埋后续opbase中pkg_inc/aicpu头文件给include/aicpu/路径切换平稳过渡。 ### 变更 cmake if(BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) set(AICPU_INC_DIRS ... ${ASCEND_DIR}/${SYSTEM_PREFIX}/include/experiment/datagw/aicpu/common ${ASCEND_DIR}/${SYSTEM_PREFIX}/pkg_inc ${ASCEND_DIR}/${SYSTEM_PREFIX}/pkg_inc/aicpu ${ASCEND_DIR}/${SYSTEM_PREFIX}/include/aicpu ← 新增 ) ### 涉及文件 | 文件 | 变更 | 说明 | |------|------|------| | cmake/modules/Findaicpu.cmake | +1 | AICPU_INC_DIRS 追加 include/aicpu 路径 | ## 关联的Issue include path增加一个路径,逻辑简单,不用创建issue了。 ## 测试 相关用例测试通过。 ## 文档更新 NA ## 类型标签 - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11402 | 23 天前 | |
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 天前 | |
chore: replace gitcode.com links with atomgit.com Co-authored-by: qzzzy1<qiziyu2@huawei.com> # message auto-generated for no-merge-commit merge: !12664 merge master into master chore: replace gitcode.com links with atomgit.com Created-by: qzzzy1 Commit-by: qzzzy1 Merged-by: cann-robot Description: ## 描述 transformer仓gitcode.com改成atomgit.com ## 关联的Issue 关联Issue 5667 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!12664 | 2 天前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
支持--pkg-type=deb/rpm包构建 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !9867 merge support_debrpm into master 支持--pkg-type=deb/rpm包构建 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 支持通过 build.sh --pkg --pkg-type=run|rpm|deb|all 构建 run/rpm/deb 包(默认仍为 run)。 主要改动: 1. **构建入口**:build.sh / CMakeLists.txt 增加 PACKAGE_TYPE;cmake/package.cmake 与空包路径透传该参数到 set_cann_cpack_config。 2. **空包 soc(如 ascend910 / ascend310b / ascend610lite)**:不在 SOC_VERSION_LIST 仍走 cpack_empty_package;为空包设置默认 install component 并透传 PACKAGE_TYPE,使空包也可打出 rpm/deb。空包 run 为 stub 不落盘、deb/rpm 由包管理器解压元数据,**接受该机制差,不强行对齐**。 3. **deb/rpm 安装对齐 run**:新增 scripts/package/ops_transformer/rpm_deb/custom_postinst.sh / custom_prerm.sh(whl 安装与清理、copy_entity 递归赋权、filelist.csv/scene.info 等元数据权限、仓内 opp/built-in 刷权等)。 4. **依赖与兜底**:cann-cmake master-026 → master-046;无 ops-info.ini 时写出空 json,避免编包失败。 5. **文档 / CI**:更新 docs/zh/install/build.md、compile.md;ops_run_repackage.sh 支持可选 --pkg-type 二次生成 rpm/deb。 默认 bash build.sh --pkg 行为保持为打 run 包;run 安装脚本(opp_install.sh / install.sh)未改。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4300 ## 测试 A2/A3/A5 RDV ## 文档更新 - 更新 docs/zh/install/build.md、docs/zh/install/compile.md,补充 --pkg-type 说明与示例。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [x] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9867 | 1 个月前 | |
fix(build): 修复 --mssanitizer 不插桩及参数解析/互斥盲区问题 Co-authored-by: weihao18<weihao16@h-partners.com> # message auto-generated for no-merge-commit merge: !11945 merge fix/mssanitizer-build-pipeline into master fix(build): 修复 --mssanitizer 不插桩及参数解析/互斥盲区问题 Created-by: weihao18 Commit-by: weihao18 Merged-by: cann-robot Description: ## 描述 fix(build): 修复 --mssanitizer 不插桩及参数解析/互斥盲区问题 1. --mssanitizer 完全不插桩(双层根因): a. ENABLE_MSSANITIZER 未传递到 prepare 阶段,adapt py 在 prepare 阶段 固化编译选项时该开关的选项已丢失(主阶段写回的 ini 不被消费); b. func.cmake 使用 bisheng 层拼写 --cce-enable-sanitizer(双横线), 与 CANN is_enable_sanitizer 精确匹配的 -sanitizer(单横线)不符, 即使选项传到 bisheng 也会因 stub 库不链接而编译失败。 2. --ops-compile-options= 的 = 传值形式落入 *) 分支,误打印 usage; 3. check_param 只查变量组合,--ops-compile-options -sanitizer / --op_debug_config sanitizer 可绕过 sanitizer 互斥拦截; 4. opdesc_parser 对多行 ALL 配置直接赋值,后行覆盖前行,导致 func.cmake 注入的开关选项被用户 --ops-compile-options 行冲掉; 5. help 文案与实现不符:--oom 虚标 '-g --cce-enable-oom',未标注互斥。 修复: - func.cmake: ENABLE_MSSANITIZER 分支改为追加 -sanitizer(单横线), 由 CANN 侧统一追加 --cce-enable-sanitizer -g -mllvm 配套并链接 stub 库 - config.cmake/prepare.sh: 补 --enable_mssanitizer 传递(对齐 --enable_oom) - opdesc_parser: ALL 行按 soc key 合并(extend),消除覆盖 - build.sh: 主循环补 --ops-compile-options=* / --op_debug_config=* 分支; check_param 引入 ENABLE_SANITIZER_ANY 按内容统一识别 sanitizer 三入口; 四处 help 补互斥提示并修正不实描述 - 选择修正 --oom 文案而非默认补 -g:避免改变所有 oom 构建产物体积, -g 对 oom 定位非必需,需要行号时用户自行追加 --ops-compile-options -g 验证(moe_gating_top_k,全量重建): - --mssanitizer / --mssanitizer --ops-compile-options -g / --ops-compile-options=-sanitizer 三场景均 15 debug 段 + 500 插桩符号, 链接零错误;修复前 --mssanitizer 为 0 插桩符号 - 互斥拦截 6 项正测全命中(含原三个盲区),合法组合 --oom --dump_cce 无误报 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5276 ## 测试 本地已验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11945 | 16 天前 | |
fix: 修复cmake升级后tikicpulib ALIAS target重复创建导致ophost_test编译失败 Co-authored-by: weihao18<weihao16@h-partners.com> # message auto-generated for no-merge-commit merge: !10482 merge fix-issue-4487 into master fix: 修复cmake升级后tikicpulib ALIAS target重复创建导致ophost_test编译失败 Created-by: weihao18 Commit-by: weihao18 Merged-by: cann-robot Description: ## 描述 fix: 修复cmake升级后tikicpulib ALIAS target重复创建导致ophost_test编译失败 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4487 ## 测试 本地验证编译正常 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!10482 | 1 个月前 | |
适配指定算子编译版本的接口,可以判断beta版本小于正式版本 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !13090 merge fix_require_cann_version into master 适配指定算子编译版本的接口,可以判断beta版本小于正式版本 Created-by: hblnb Commit-by: hblnb Merged-by: cann-robot Description: ## 描述 require_cann_version指定soc和编译版本的接口会把9.2.0-beta.2和9.2.0等同,现在改为beta版本小于正式版本 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5724 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!13090 | 2 天前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
chore: replace gitcode.com links with atomgit.com Co-authored-by: qzzzy1<qiziyu2@huawei.com> # message auto-generated for no-merge-commit merge: !12664 merge master into master chore: replace gitcode.com links with atomgit.com Created-by: qzzzy1 Commit-by: qzzzy1 Merged-by: cann-robot Description: ## 描述 transformer仓gitcode.com改成atomgit.com ## 关联的Issue 关联Issue 5667 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!12664 | 2 天前 | |
适配指定算子编译版本的接口,可以判断beta版本小于正式版本 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !13090 merge fix_require_cann_version into master 适配指定算子编译版本的接口,可以判断beta版本小于正式版本 Created-by: hblnb Commit-by: hblnb Merged-by: cann-robot Description: ## 描述 require_cann_version指定soc和编译版本的接口会把9.2.0-beta.2和9.2.0等同,现在改为beta版本小于正式版本 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5724 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!13090 | 2 天前 | |
增加-Wl,-Bsymbolic编译参数,防止多个so存在同名static变量时,互相共享内存 Co-authored-by: hid81635372<wujianfei15@huawei.com> # message auto-generated for no-merge-commit merge: !3153 merge symble into master 增加-Wl,-Bsymbolic编译参数,防止多个so存在同名static变量时,互相共享内存 Created-by: hid81635372 Commit-by: hid81635372 Merged-by: cann-robot Description: ## 描述 增加-Wl,-Bsymbolic编译参数,防止多个so存在同名static变量时,互相共享内存。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/1371 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!3153 | 6 个月前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
/lgtm Co-authored-by: wuhaogl<wuhao305@h-partners.com> # message auto-generated for no-merge-commit merge: !537 merge master into master 适配最新cann版本,更新编译选项 Created-by: wuhaogl Commit-by: wuhaogl Merged-by: cann-robot Description: ## 描述 适配最新cann版本,更新编译选项 ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/314 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!537 | 9 个月前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
/lgtm Co-authored-by: wuhaogl<wuhao305@h-partners.com> # message auto-generated for no-merge-commit merge: !537 merge master into master 适配最新cann版本,更新编译选项 Created-by: wuhaogl Commit-by: wuhaogl Merged-by: cann-robot Description: ## 描述 适配最新cann版本,更新编译选项 ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/314 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!537 | 9 个月前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
/lgtm Co-authored-by: wuhaogl<wuhao305@h-partners.com> # message auto-generated for no-merge-commit merge: !537 merge master into master 适配最新cann版本,更新编译选项 Created-by: wuhaogl Commit-by: wuhaogl Merged-by: cann-robot Description: ## 描述 适配最新cann版本,更新编译选项 ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/314 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!537 | 9 个月前 | |
/lgtm Co-authored-by: wuhaogl<wuhao305@h-partners.com> # message auto-generated for no-merge-commit merge: !537 merge master into master 适配最新cann版本,更新编译选项 Created-by: wuhaogl Commit-by: wuhaogl Merged-by: cann-robot Description: ## 描述 适配最新cann版本,更新编译选项 ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/314 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!537 | 9 个月前 | |
feat(kda_input_proj): implement mm_bgg and sigmoid kernel execution Co-authored-by: zhengyuhao3<zhengyuhao3@huawei.com> # message auto-generated for no-merge-commit merge: !12099 merge pr/kda-02-aclnn-mmbgg-sigmoid into master feat(kda_input_proj): implement mm_bgg and sigmoid kernel execution Created-by: zhengyuhao3 Commit-by: zhengyuhao3 Merged-by: cann-robot Description: ## 描述 kda_input_proj算子补充matmul_bgg和sigmod模块的tiling和kernel计算逻辑 以及算子aclnn接口和torch_extension接口补充 分批合入代码:2/3 本PR合入matmulbgg和sigmoid计算流程 以及aclnn接口和torch接口 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5338 ## 测试 本地ATK验证功能正常,精度通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!12099 | 14 天前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
mc2 fusion pass from canndev to transformer Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !10939 merge fusion into master mc2 fusion pass from canndev to transformer Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 将 canndev 中 MC2 相关 Graph Fusion Pass 迁移到 ops-transformer,基于 ES PatternFusionPass(Patterns → MeetRequirements → Replacement)实现,融合效果对齐 canndev。 对应提交:fc69a3629(mc2 a5 fusion pass from canndev to transformer)。 ### 背景与目标 - **来源**:canndev ops/built-in/fusion_pass/graph_fusion/ai_core/ - **目标框架**:ops-transformer ES Graph Fusion(REG_FUSION_PASS + Pattern 构图) - **编译门禁**:GRAPH_FUSION_SUPPORT_VERSION=90000000(ge_compiler 版本不足则拒融) - **平台常量**(mc2/common/utils/mc2_platform_info.h): | 常量 | NpuArch | 用途 | |---|---|---| | NPUARCH_A5 | DAV_3510 | 多数 Transpose A5 Pass | | NPUARCH_310P | DAV_2002 | **本提交新增**;MatmulAllReduceTransposeFusionPass 排除 310P | ### 本次迁入清单 | # | Pass 类名 | 路径(简) | 平台 | 融合目标 | |---|---|---|---|---| | 1 | AllToAllMatmulTransposeA5FusionPass | allto_all_matmul/... | A5 | 吸 x2 上 Transpose(±Bitcast) | | 2 | MatmulAllToAllTransposeA5FusionPass | matmul_allto_all/... | A5 | 同上(attr 行为不同;本提交重构既有实现) | | 3 | AllGatherMatmulV2TransposeA5FusionPass | all_gather_matmul_v2/... | A5 | 吸 x2[/x2_scale] Transpose(±Bitcast) | | 4 | MatmulReduceScatterV2TransposeA5FusionPass | matmul_reduce_scatter_v2/... | A5 | 同上 | | 5 | MatmulAllReduceTransposeA5FusionPass | matmul_all_reduce/... | A5 | 吸 x2/antiquant/dequant Transpose(dequant±Bitcast) | | 6 | MatmulAllReduceTransposeFusionPass | matmul_all_reduce/... | 非310P | 吸 x2/antiquant Transpose;覆盖 MAR/ARN/InplaceARN | | 7 | AlltoAllvQuantGroupedMatMulTransposeFusionPass | allto_allv_quant_grouped_mat_mul/... | A5 | 吸 gmm/mm weight[/scale] Transpose | | 8 | QuantGroupedMatMulAlltoAllvTransposeFusionPass | quant_grouped_mat_mul_allto_allv/... | A5 | 同上(attr 置 true) | ### 本批明确不下迁 | 项 | 说明 | |---|---| | MatmulAllReduceTransposeFusion310PPass | 不下迁;base Pass 对 310P 直接拒融 | | MatmulAllReduceAddRmsNormFusionPass | 不下迁; | | AddRmsNorm / InplaceAddRmsNorm 打桩(es_nn) | 不下迁;stub 仅保留 math | ### 附带改动 - **构建门禁**(cmake/obj_func.cmake):仅 ENABLE_BUILT_IN 时 GLOB 并编译 fusion_pass/*fusion_pass*.cpp;自定义包 / 分组 kernel 构建不编 fusion(仍收集 *_proto*.h 供 updateproto / ES) - **外部算子 stub**:common/stub/op_graph/math_proto_stub.cpp 提供 Transpose / Bitcast(proto_math → es_math);CMake 改为只编该文件(不再 GLOB) - 删除 mc2/matmul_allto_all/op_graph/transpose_d_proto.h;pattern **统一走 Transpose**(不再枚举 TransposeD) - Replacement 统一 return replaceGraph;(去掉 std::move,避免 NRVO 告警) - ES 依赖:除 #6 外各 Pass 仅依赖**本算子** es_Xxx + es_math;#6 额外依赖本仓 es_MatmulAllReduceAddRmsNorm / es_InplaceMatmulAllReduceAddRmsNorm(故分组只编 MAR 时若强行编 fusion 会缺头——由 built-in 门禁规避) --- ## Patterns / Meet / Replace 详细特性 > 通用约定:T = Transpose(perm 从 const 输入读,int32/int64)。本批 **不再** 枚举 TransposeD。 ### 1. AllToAllMatmulTransposeA5FusionPass **拓扑**:x2 → T → [Bitcast?] → AlltoAllMatmul.x2;x1 / x1_scale / x2_scale 直连;bias 可选。 | 阶段 | 详细内容 | |---|---| | **Patterns** | MX:x1_scale/x2_scale **固定进 pattern**;comm_scale / x1_offset / x2_offset 固定 nullptr。输出 {y, all2all_out}。Capture:0=MC2,1=Transpose。组合:hasBias × hasBitcast → **4 种**。Bitcast dtype 占位 DT_HIFLOAT8。 | | **Meet** | ① ge_compiler ≥ 9.0;② NPUARCH_A5;③ x1_quant_mode == x2_quant_mode == 6(MX);④ x2 perm size∈{2,3},**最后两维互换**(2D [1,0] / 3D [0,2,1]);⑤ subgraph 输入数 = 4(无 bias)或 5(有 bias)。 | | **Replace** | 吸掉 x2 上 Transpose;若有 Bitcast 则**保留**(dtype 取原 MC2 x2 输入 desc,失败回退 HIFLOAT8)。新建 AlltoAllMatmul,拷贝 group/world_size/all2all_axes/y_dtype/x1\|x2\|comm_quant_mode/x1_quant_dtype/comm_quant_dtype/transpose_x1/group_size/comm_mode/alltoall_out_flag。**transpose_x2 强制 true**(MX tiling 要求)。输出 {y, all2all_out} + InferShape。 | ### 2. MatmulAllToAllTransposeA5FusionPass **拓扑**:与 #1 同构,算子为 MatmulAlltoAll;单输出。 | 阶段 | 详细内容 | |---|---| | **Patterns** | x2 → T → [Bitcast?] → MatmulAlltoAll.x2;MX scale 固定进图;comm/offset 不进。组合:**4 种**(bias × Bitcast)。输出 {mc2}。 | | **Meet** | 与 #1 相同:版本 / A5 / MX(==6) / perm 末两维互换 / 输入数 4 或 5。 | | **Replace** | 吸 Transpose,可选保留 Bitcast(逻辑同 #1)。拷贝 group/world_size/all2all_axes/y_dtype/x1\|x2\|comm_quant_mode/comm_quant_dtype/transpose_x1/group_size/comm_mode(无 x1_quant_dtype、alltoall_out_flag)。**关键差异**:transpose_x2 = !transpose_x2(**flip**,非 set-true)。 | ### 3. AllGatherMatmulV2TransposeA5FusionPass **拓扑**:x2 必有 T(±Bitcast);可选 bias;可选成对 x1_scale/x2_scale,且 x2_scale 可再挂 T(±Bitcast)。 | 阶段 | 详细内容 | |---|---| | **Patterns** | quant_scale 恒 nullptr。输出 {y, gather_out, amax_out}。Capture:0=MC2,1=x2T,若有 x2_scale T 则 2=x2ScaleT。组合:**16 种**——仅 x2 T:hasBias×hasScale×x2Bitcast=8;双 T:hasBias×x2Bitcast×x2ScaleBitcast=8(双 T 时强制 hasScale)。 | | **Meet** | ① 版本;② A5;③ **x2 perm**:size∈{2,3},末两维互换;④ **x2_scale perm**(若有):size≥2 且前两维 [1,0];⑤ 有 scale 但无 x2_scale T 时,若 x2_scale dim>1 → **拒融**;⑥ 输入数 2/3/4/5(无 bias+无 scale / bias / scale / bias+scale)。 | | **Replace** | 吸 x2(及可选 x2_scale)Transpose;对应 Bitcast **保留**。拷贝 group/is_trans_a/gather_index/comm_turn/rank_size/block_size/group_size/is_gather_out/is_amax_out/y_dtype/comm_mode。**is_trans_b = !is_trans_b**(仅因吸 x2 T 而 flip,scale 不改 attr)。输出三路 + InferShape。 | ### 4. MatmulReduceScatterV2TransposeA5FusionPass **拓扑**:与 #3 同构(bias / scale / x2_scale T / Bitcast),算子 MatmulReduceScatterV2。 | 阶段 | 详细内容 | |---|---| | **Patterns** | 输出 {y, amax_out}(无 gather_out)。组合 **16 种**,规则同 #3。 | | **Meet** | 与 #3 相同:版本 / A5 / 双路 perm / x2_scale dim>1 须有 T / 输入个数。 | | **Replace** | 吸 T、保留 Bitcast;**is_trans_b flip**。额外拷贝 reduce_op;无 gather_index / is_gather_out。输出 {y, amax_out}。 | ### 5. MatmulAllReduceTransposeA5FusionPass **拓扑**:x2 必挂 T(**无 Bitcast**);可选 bias / antiquant_scale / antiquant_offset / dequant_scale;scale/offset 可挂 T;**仅 dequant 支持 T→Bitcast→MC2**。 | 阶段 | 详细内容 | |---|---| | **Patterns** | x3/pertoken/comm_quant 固定 nullptr。Capture:0=MC2,其后按 **x2 → scaleT → offsetT → dequantT** 追加。合法约束下 **72 种**(bias×scale×offset×dequant × 条件化的 scaleT/offsetT/dequantT/dequantBitcast)。 | | **Meet** | ① 版本;② A5;③ 输入数匹配;④ **x2/scale/offset perm**:size∈{2,3},末两维互换;⑤ **dequant perm**:size∈{2,3},且 **前两维 [1,0]**;⑥ antiquant:scale dim>1 时,有 scale 必须有 ScaleT,有 offset 必须有 OffsetT(门控用 scale 的 dim);⑦ dequant dim>1 且无 DequantT → 拒。 | | **Replace** | 吸各口 Transpose;仅 dequant Bitcast 可保留。拷贝 group/reduce_op/is_trans_a/comm_turn/antiquant_group_size/group_size/y_dtype/comm_quant_mode/comm_mode。**is_trans_b flip**。单输出 {y}。 | ### 6. MatmulAllReduceTransposeFusionPass **说明**:非 A5 通用 Transpose 吸收;**拒绝 NPUARCH_310P**(310P 专用 Pass 本批不下迁)。 | 阶段 | 详细内容 | |---|---| | **Patterns** | 覆盖三种算子:MatmulAllReduce / MatmulAllReduceAddRmsNorm / InplaceMatmulAllReduceAddRmsNorm。x2 必挂 T;可选 bias、scale、offset、**dequant(仅拓扑匹配,不吸 dequant T)**;scale/offset 可挂 T;**无 Bitcast、无 dequant Transpose**。ARN 类额外必选 residual/gamma。输出:Mar→{y};Arn→{y, norm_out};InplaceArn→{ref_residual, norm_out}。组合 **108 种**(3 opKind × bias/scale/offset/dequant × 条件化 scaleT/offsetT)。 | | **Meet** | ① 版本;② **拒绝 NPUARCH_310P**;③ 输入数匹配;④ 所有 Capture 到的 T:perm 末两维互换(size 2/3);⑤ antiquant dim>1:须对应 ScaleT/OffsetT(ARN 用 K_SCALE 索引,Mar 用 Mar 索引);⑥ dequant 是否存在须与 pattern 一致(直连透传,不吸 T)。 | | **Replace** | 吸 x2/scale/offset 上 Transpose;dequant **原样透传**(不吸 T)。**is_trans_b flip 一次**。Mar:拷贝完整 MAR attr(含 group_size/y_dtype/comm_quant_mode/comm_mode)。Arn/InplaceArn:从 MC2 读 group/reduce_op/is_trans_*/comm_turn/antiquant_group_size,从节点读 epsilon(缺省 1e-6);输出分别为 {y,norm_out} / {ref_residual,norm_out}。 | ### 7. AlltoAllvQuantGroupedMatMulTransposeFusionPass **拓扑**:必选 gmm_x/gmm_weight/gmm_x_scale/gmm_weight_scale;可选整组 mm 四路(HasMm)。四口可挂 T(**至少一路**):gmm_weight / gmm_weight_scale / mm_weight / mm_weight_scale;各口可 T→Bitcast。 | 阶段 | 详细内容 | |---|---| | **Patterns** | send/recv_counts_tensor 不进 pattern。输出 {gmm_y, mm_y, permute_out}。Capture:0=MC2,其后按 gmm_w→gmm_ws→mm_w→mm_ws 追加存在的 T。合法组合 **88 种**(hasMm × 四路 T × Bitcast;无 mm 时禁 mm 侧 T;Bitcast 仅当该口有 T 时可开;至少一路 T)。 | | **Meet** | ① 版本;② A5;③ 输入数 4 或 8;④ **weight(gmm/mm)perm**:size∈{2,3,4},末两维互换;⑤ **gmm_weight_scale perm**:size≥3,且 perm[1]==2 && perm[2]==1;⑥ **mm_weight_scale perm**:size≥2,且前两维 [1,0]。 | | **Replace** | 吸对应口 Transpose,Bitcast 保留(IR 口:1/3/7/9)。拷贝 group/ep_world_size/send_counts/recv_counts/gmm_*_quant_mode/permute_out_flag/mm_*_quant_mode/group_size/y_dtype/mm_dtype/comm_mode。有对应 Weight T 时 **trans_gmm_weight / trans_mm_weight flip(!)**;scale 口不改 attr。输出三路。 | ### 8. QuantGroupedMatMulAlltoAllvTransposeFusionPass **拓扑**:与 #7 几乎相同;算子 QuantGroupedMatMulAlltoAllv;send/recv/comm_quant_scale 固定 nullptr。 | 阶段 | 详细内容 | |---|---| | **Patterns** | 输出 {y, mm_y}(**无 permute_out**)。组合数同 **88**。 | | **Meet** | 与 #7 相同:版本 / A5 / 输入数 / 三类 perm 规则。 | | **Replace** | 吸 T、保留 Bitcast;拷贝含 comm_quant_mode/comm_quant_dtype 等(无 permute_out_flag)。**关键差异 vs #7**:有 gmm/mm weight T 时,**trans_gmm_weight/trans_mm_weight 强制 = true(set true,非 flip)**。输出 {y, mm_y}。 | --- ### 总览对照表 | Pass | Patterns 要点 | Meet 要点 | Replace 要点 / Attr 行为 | |---|---|---|---| | AllToAllMatmul T-A5 | x2 T±Bitcast × bias;MX scale 固定;4 种 | A5 + MX(=6) + perm 末两维 | 吸 T 留 Bitcast;**transpose_x2=true** | | MatmulAllToAll T-A5 | 同上;4 种 | 同左 | 吸 T 留 Bitcast;**transpose_x2 flip** | | AGMMV2 T-A5 | x2[/scale] T±Bitcast × bias;16 种 | A5;分口 perm;scale dim 门控 | 留 Bitcast;**is_trans_b flip** | | MRSV2 T-A5 | 同 AGMMV2;输出无 gather | 同 AGMMV2 | 同 AGMMV2 + 拷 reduce_op | | MAR T-A5 | x2+antiquant+dequant(±Bitcast);72 种 | A5;分口 perm;dim>1 门控 | 吸 T;dequant 可留 Bitcast;**flip is_trans_b** | | MAR T(非310P) | MAR/ARN/Inplace;x2+antiquant;108 种 | 拒 310P;perm;dim 门控;不吸 dequant T | 吸 T;dequant 透传;**flip is_trans_b** | | AlltoAllvQuantGMM T | hasMm × 四路 weight/scale T±Bitcast;88 种 | A5;三类分口 perm | **flip** trans_gmm/mm_weight | | QuantGMMAlltoAllv T | 同上;无 permute_out | 同上 | **set true** trans_gmm/mm_weight | ### 易混对照(迁移对齐要点) | 对比项 | 差异 | |---|---| | All2AllMM vs MatmulAll2All | transpose_x2:**set true** vs **flip** | | AlltoAllvQuantGMM vs QuantGMM-AlltoAllv | weight tran See merge request: cann/ops-transformer!10939 | 9 天前 | |
添加aclnn头文件弃用警告功能 Co-authored-by: huang-chuhong<huangchuhong1@h-partners.com> # message auto-generated for no-merge-commit merge: !5474 merge master into master 添加aclnn头文件弃用警告功能 Created-by: huang-chuhong Commit-by: huang-chuhong Merged-by: cann-robot Description: ## 描述 在算子构建安装流程中,为 Level2 目录下的头文件自动添加 #warning 废弃告警,提示用户迁移到 include/aclnnop 路径下的同名头文件。 改动原因 Level2 头文件计划废弃,需要在编译时通过 #warning 提前通知用户切换到新的头文件路径,避免后续版本移除时出现编译失败。 改动方法 新增脚本 scripts/util/add_deprecation_warning.py:解析头文件,定位最后一个 #include 行,在其后插入 #warning "This file is scheduled to be deprecated. Please use the file with the same name under include/aclnnop in the CANN package installation path instead." 修改 cmake/opbuild.cmake:在 Level2 头文件安装完成后,通过 install(CODE ...) 调用上述 Python 脚本,对已安装的头文件执行告警注入 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2516 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5474 | 4 个月前 | |
支持--pkg-type=deb/rpm包构建 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !9867 merge support_debrpm into master 支持--pkg-type=deb/rpm包构建 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 支持通过 build.sh --pkg --pkg-type=run|rpm|deb|all 构建 run/rpm/deb 包(默认仍为 run)。 主要改动: 1. **构建入口**:build.sh / CMakeLists.txt 增加 PACKAGE_TYPE;cmake/package.cmake 与空包路径透传该参数到 set_cann_cpack_config。 2. **空包 soc(如 ascend910 / ascend310b / ascend610lite)**:不在 SOC_VERSION_LIST 仍走 cpack_empty_package;为空包设置默认 install component 并透传 PACKAGE_TYPE,使空包也可打出 rpm/deb。空包 run 为 stub 不落盘、deb/rpm 由包管理器解压元数据,**接受该机制差,不强行对齐**。 3. **deb/rpm 安装对齐 run**:新增 scripts/package/ops_transformer/rpm_deb/custom_postinst.sh / custom_prerm.sh(whl 安装与清理、copy_entity 递归赋权、filelist.csv/scene.info 等元数据权限、仓内 opp/built-in 刷权等)。 4. **依赖与兜底**:cann-cmake master-026 → master-046;无 ops-info.ini 时写出空 json,避免编包失败。 5. **文档 / CI**:更新 docs/zh/install/build.md、compile.md;ops_run_repackage.sh 支持可选 --pkg-type 二次生成 rpm/deb。 默认 bash build.sh --pkg 行为保持为打 run 包;run 安装脚本(opp_install.sh / install.sh)未改。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4300 ## 测试 A2/A3/A5 RDV ## 文档更新 - 更新 docs/zh/install/build.md、docs/zh/install/compile.md,补充 --pkg-type 说明与示例。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [x] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9867 | 1 个月前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
修复静态库编译打包问题 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !10953 merge fix_static_pkg into master 修复静态库编译打包问题 Created-by: hblnb Commit-by: hblnb Merged-by: cann-robot Description: ## 描述 静态库编译后产生的cann-950-ops-transformer-static_9.2.0_linux-x86_64.tar.gz解压后没有libcann_transformer_static.a,原因是之前静态库编译优化时,打包这个文件使用的变量写错了,现在进行修复 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4853 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!10953 | 29 天前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
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 | 2 天前 | |
sync-ops-tensor-submodule Co-authored-by: zhangzhizhuo<zhangzhizhuo1@huawei.com> # message auto-generated for no-merge-commit merge: !8725 merge feature/sync-ops-tensor-submodule into master sync-ops-tensor-submodule Created-by: zhangzhizhuo Commit-by: zhangzhizhuo Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 参考 cann/ops-nn PR #6225,同步 ops-tensor 引入 asc-devkit/tensor_api 子模块后的构建适配。 主要修改如下: 1. 更新 ops-tensor 依赖版本,使其包含 tensor_api 子模块。 2. ops-tensor 已存在时,优先使用本地缓存初始化递归子模块;缓存不完整时再从远程获取。 3. 通过 FetchContent 下载 ops-tensor 后,自动初始化递归子模块,避免 tensor_api 目录内容缺失。 4. 在构建阶段参考 cgmct 的处理方式,将以下公共头文件复制到 ascendc/common: - Blaze - tensor_api include/impl - c_api include/impl 5. 在生成的 Ascend C 编译选项中补充包内 tensor_api include/impl 路径。 6. 在自定义算子包中补齐 c_api 头文件及实现文件。 7. 删除 GroupedMatmul、MegaMoe 对 ops-tensor 源码目录的直接 include 依赖,并清理不再使用的 OPTENSOR_INCLUDE_ROOT 变量。 修改后,算子统一从构建产物的 ascendc/common 获取 Blaze、tensor_api 和 c_api,与 cgmct 的公共头文件管理方式保持一致,避免因源码目录结构或构建环境差异导致头文件找不到。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/3671 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!8725 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 23 天前 | ||
| 1 天前 | ||
| 2 天前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 16 天前 | ||
| 1 个月前 | ||
| 2 天前 | ||
| 2 个月前 | ||
| 2 天前 | ||
| 2 天前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 9 个月前 | ||
| 2 个月前 | ||
| 9 个月前 | ||
| 2 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 14 天前 | ||
| 2 个月前 | ||
| 9 天前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 29 天前 | ||
| 2 个月前 | ||
| 2 天前 | ||
| 2 个月前 |