GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: 新增gitcode-pipeline skill及修复skill安装软链接问题 Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !2663 merge add_gp2 into develop feat: 新增gitcode-pipeline skill及修复skill安装软链接问题 Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 新增 gitcode-pipeline skill,支持触发CI、查询流水线状态、获取失败任务日志 2. 修复当 .claude/skills 目录下已存在实体目录时,软链接会建立在实体目录下的问题 3. 更新 README 文档,补充 gitcode-pipeline skill 说明 4. 更新 opencode.json 权限配置,添加 /tmp、~/Ascend、/usr/local/Ascend 目录 5. 更新 AGENTS.md,移除冗余的环境要求章节,补充 ci 操作说明 ## 变更类型 请选择本次引入的变更类型(勾选对应项): - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 如何测试 1. 验证 gitcode-pipeline skill 安装:运行 install-default-skills.sh,确认 gitcode-pipeline 被正确安装 2. 验证软链接修复:在 .claude/skills 目录下预创建同名目录,运行安装脚本确认软链接正确创建 3. 验证 pipeline 功能:触发一个 PR 的 CI 流水线并查询状态 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) ## 其他信息 本次变更涉及两个 commit,第一个添加 gitcode-pipeline skill,第二个修复安装脚本中的软链接问题。 See merge request: cann/ge!2663 | 3 个月前 | |
fix: 子流水线支持更新门禁代码 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !2435 merge master-test0429 into master fix: 子流水线支持更新门禁代码 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 子流水线支持更新门禁代码 当门禁包含子流水线时,如果没有这个配置,会导致子流水线中任务无法更新最新代码,使用落后的代码跑门禁 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2435 | 4 个月前 | |
feat: 新增gitcode-pipeline skill及修复skill安装软链接问题 Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !2663 merge add_gp2 into develop feat: 新增gitcode-pipeline skill及修复skill安装软链接问题 Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 新增 gitcode-pipeline skill,支持触发CI、查询流水线状态、获取失败任务日志 2. 修复当 .claude/skills 目录下已存在实体目录时,软链接会建立在实体目录下的问题 3. 更新 README 文档,补充 gitcode-pipeline skill 说明 4. 更新 opencode.json 权限配置,添加 /tmp、~/Ascend、/usr/local/Ascend 目录 5. 更新 AGENTS.md,移除冗余的环境要求章节,补充 ci 操作说明 ## 变更类型 请选择本次引入的变更类型(勾选对应项): - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 如何测试 1. 验证 gitcode-pipeline skill 安装:运行 install-default-skills.sh,确认 gitcode-pipeline 被正确安装 2. 验证软链接修复:在 .claude/skills 目录下预创建同名目录,运行安装脚本确认软链接正确创建 3. 验证 pipeline 功能:触发一个 PR 的 CI 流水线并查询状态 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) ## 其他信息 本次变更涉及两个 commit,第一个添加 gitcode-pipeline skill,第二个修复安装脚本中的软链接问题。 See merge request: cann/ge!2663 | 3 个月前 | |
【PR】【fix】在断图打开的情况下,对于不支持场景进行fallback处理;符号化流程跳过缺少hintshape的算子 Co-authored-by: xiebangrui2025<xiebangrui@huawei.com> # message auto-generated for no-merge-commit merge: !2562 merge master into develop 【PR】【fix】在断图打开的情况下,对于不支持场景进行fallback处理;符号化流程跳过缺少hintshape的算子 Created-by: xiebangrui2025 Commit-by: xiebangrui2025 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 对于断图不支持的场景,由报错改成记录INFO级别日志,业务流程按照非断图逻辑降级处理 2. 对于缺少hintshape而无法符号化的算子,由报错改成记录INFO级别日志,符号化流程跳过该算子 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 无。 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 断图开关打开,构造不支持场景:动态分档、AOE、包含不支持算子 2. AddGraph不报错,后续处理按不断图的逻辑推进 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无。 See merge request: cann/ge!2562 | 3 个月前 | |
refactor: 替换rt内存接口为aclrt接口 Co-authored-by: tangqunzhang<tangqunzhang@huawei.com> # message auto-generated for no-merge-commit merge: !2169 merge develop into develop refactor: 替换rt内存接口为aclrt接口 Created-by: tangqunzhang Commit-by: tangqunzhang Merged-by: cann-robot Description: # Pull Request ## 描述 将 GE 项目中的 rt 内存分配接口替换为新的 aclrt 接口,同时保留 moduleId 特性传递。 ### 主要变更 #### 1. 新增辅助模块 - 新增 base/common/aclrt_malloc_helper.h 封装辅助函数声明 - 头文件不依赖 runtime/rt.h,使用 using rtMemType_t = uint32_t; 自行定义类型别名 - 新增 base/common/aclrt_malloc_helper.cc 实现所有辅助函数 - ge::AclrtMalloc() - 替代 rtMalloc,表驱动分发,自动传递 moduleId - ge::AclrtMallocHost() - 替代 rtMallocHost,自动传递 moduleId - ge::AclrtMallocForTaskScheduler() - 替代 rtMallocForTaskScheduler - ge::AclrtMallocHostSharedMemory() - 替代 rtMallocHostSharedMemory,基于 POSIX shm_open/mmap/aclrtHostRegister - ge::AclrtFreeHostSharedMemory() - 替代 rtFreeHostSharedMemory - ge::AdviseAndTouchHugePages() - 大页内存预触及物理分配 - 删除 runtime/v1/common/aclrt_malloc_helper.h(旧款 inline 版本,被新模块替代) - 删除 rtMemAdvise的调用 #### 2. 内存类型映射表 | rtMemType_t | aclrtMemMallocPolicy | |-------------|----------------------| | RT_MEMORY_TS | ACL_MEM_MALLOC_HUGE_FIRST | | RT_MEMORY_HOST | ACL_MEM_TYPE_HIGH_BAND_WIDTH (走 HandleHost) | | RT_MEMORY_HBM / DEFAULT / RDMA_HBM / SPM | ACL_MEM_TYPE_HIGH_BAND_WIDTH | | RT_MEMORY_P2P_HBM | ACL_MEM_MALLOC_HUGE_FIRST_P2P | | RT_MEMORY_DDR / DDR_NC | ACL_MEM_TYPE_LOW_BAND_WIDTH | | RT_MEMORY_P2P_DDR | ACL_MEM_MALLOC_HUGE_FIRST_P2P | ### 技术细节 #### moduleId 保留 cpp // 旧接口 rtMalloc(&ptr, size, RT_MEMORY_HBM, GE_MODULE_NAME_U16); // 新接口 ge::AclrtMalloc(&ptr, size, RT_MEMORY_HBM, GE_MODULE_NAME_U16); #### Host Shared Memory cpp // 旧接口 rtMallocHostSharedMemory(name, size, &fd, &host_ptr, &dev_ptr); // 新接口 ge::AclrtMallocHostSharedMemory(name, size, &fd, &host_ptr, &dev_ptr); ## 变更类型 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) ## 如何测试 1. 编译 GE 项目:bash build.sh 2. 运行单元测试验证内存分配功能正常 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我在标题中使用了合适的类型标签 - [x] 编译 ge_common_base 目标通过 See merge request: cann/ge!2169 | 3 个月前 | |
feat: MDC运行态包移除graph.h Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !2661 merge dev-mdc0508 into develop feat: MDC运行态包移除graph.h Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 MDC运行态包移除graph.h ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2661 | 3 个月前 | |
【PR】: 回退Comparev2修改 Co-authored-by: zhanglong99<zhanglong170@huawei.com> # message auto-generated for no-merge-commit merge: !2682 merge revert into develop 【PR】: 回退Comparev2修改 Created-by: zhanglong99 Commit-by: zhanglong99 Merged-by: cann-robot Description: # Pull Request ## 描述 回退Comparev2修改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2682 | 3 个月前 | |
fix: fix command execute error in dash Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !2080 merge ln_0206 into develop fix: fix command execute error in dash Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 修复某些环境默认非bash导致udf解压命令不兼容的问题。 对应的解压命令只能在bash下执行,但是有些环境默认是dash,需要指定bash来执行。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> NA ## 如何测试 描述测试此变更的步骤和前提条件: 验证host udf用例是否可以正常执行 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2080 | 3 个月前 | |
refactor: 替换rt内存接口为aclrt接口 Co-authored-by: tangqunzhang<tangqunzhang@huawei.com> # message auto-generated for no-merge-commit merge: !2169 merge develop into develop refactor: 替换rt内存接口为aclrt接口 Created-by: tangqunzhang Commit-by: tangqunzhang Merged-by: cann-robot Description: # Pull Request ## 描述 将 GE 项目中的 rt 内存分配接口替换为新的 aclrt 接口,同时保留 moduleId 特性传递。 ### 主要变更 #### 1. 新增辅助模块 - 新增 base/common/aclrt_malloc_helper.h 封装辅助函数声明 - 头文件不依赖 runtime/rt.h,使用 using rtMemType_t = uint32_t; 自行定义类型别名 - 新增 base/common/aclrt_malloc_helper.cc 实现所有辅助函数 - ge::AclrtMalloc() - 替代 rtMalloc,表驱动分发,自动传递 moduleId - ge::AclrtMallocHost() - 替代 rtMallocHost,自动传递 moduleId - ge::AclrtMallocForTaskScheduler() - 替代 rtMallocForTaskScheduler - ge::AclrtMallocHostSharedMemory() - 替代 rtMallocHostSharedMemory,基于 POSIX shm_open/mmap/aclrtHostRegister - ge::AclrtFreeHostSharedMemory() - 替代 rtFreeHostSharedMemory - ge::AdviseAndTouchHugePages() - 大页内存预触及物理分配 - 删除 runtime/v1/common/aclrt_malloc_helper.h(旧款 inline 版本,被新模块替代) - 删除 rtMemAdvise的调用 #### 2. 内存类型映射表 | rtMemType_t | aclrtMemMallocPolicy | |-------------|----------------------| | RT_MEMORY_TS | ACL_MEM_MALLOC_HUGE_FIRST | | RT_MEMORY_HOST | ACL_MEM_TYPE_HIGH_BAND_WIDTH (走 HandleHost) | | RT_MEMORY_HBM / DEFAULT / RDMA_HBM / SPM | ACL_MEM_TYPE_HIGH_BAND_WIDTH | | RT_MEMORY_P2P_HBM | ACL_MEM_MALLOC_HUGE_FIRST_P2P | | RT_MEMORY_DDR / DDR_NC | ACL_MEM_TYPE_LOW_BAND_WIDTH | | RT_MEMORY_P2P_DDR | ACL_MEM_MALLOC_HUGE_FIRST_P2P | ### 技术细节 #### moduleId 保留 cpp // 旧接口 rtMalloc(&ptr, size, RT_MEMORY_HBM, GE_MODULE_NAME_U16); // 新接口 ge::AclrtMalloc(&ptr, size, RT_MEMORY_HBM, GE_MODULE_NAME_U16); #### Host Shared Memory cpp // 旧接口 rtMallocHostSharedMemory(name, size, &fd, &host_ptr, &dev_ptr); // 新接口 ge::AclrtMallocHostSharedMemory(name, size, &fd, &host_ptr, &dev_ptr); ## 变更类型 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) ## 如何测试 1. 编译 GE 项目:bash build.sh 2. 运行单元测试验证内存分配功能正常 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我在标题中使用了合适的类型标签 - [x] 编译 ge_common_base 目标通过 See merge request: cann/ge!2169 | 3 个月前 | |
【feat】: 新增graph base python pass 依赖的GraphRewriter相关接口 Co-authored-by: zhangfeifan0709<zhangfeifan7@huawei.com> # message auto-generated for no-merge-commit merge: !2374 merge develop_pythonpass-stage2 into develop 【feat】: 新增graph base python pass 依赖的GraphRewriter相关接口 Created-by: zhangfeifan0709 Commit-by: zhangfeifan0709 Merged-by: cann-robot Description: # Pull Request ## 描述 补全 graph_base_pass 的 Python pass 开发依赖与样例: 1) 为 ge/fusion/graph_rewriter.h 新增 pybind11 绑定,向 Python 暴露 SubgraphBoundary / SubgraphInput / SubgraphOutput / SubgraphRewriter.replace(),使 Python pass 可以实现与 C++ 相同的子图替换能力。 2) 新增 graph_base_pass/2_move_relu_before_concat_pass 的纯 Python 等价实现与说明文档,并对示例目录结构/入口文档做相应调整以便使用 ASCEND_GE_PY_PASS_PATH 进行加载。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 按示例 README 完成环境准备:source ${ASCEND_PATH}/set_env.sh,确保 GE Python 包可导入、并具备对应 ES Python API 依赖(如 ge.es.math / ge.es.nn)。 2. 选择要验证的 Python pass: - graph_base_pass/2_move_relu_before_concat_pass:设置 export ASCEND_GE_PY_PASS_PATH=$PWD/python/src/test_python_move_relu_before_concat_pass.py,复用对应 C++ 样例的 ATC 离线推理或 torch_forward.py 在线推理流程,观察日志中 PythonMoveReluBeforeConcatPass 相关输出,并对比 dump 图(ReLU 应前移到 Concat 前)。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2374 | 4 个月前 | |
【fix】: 修复tiling上下文tensor size未初始化问题 Co-authored-by: li1553770945<1553770945@qq.com> # message auto-generated for no-merge-commit merge: !2619 merge fix-tiling-context-tensor-size into develop 【fix】: 修复tiling上下文tensor size未初始化问题 Created-by: peacesheep Commit-by: li1553770945 Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 修复 TilingContextBuilder::BuildRtTensor 在构造 gert::Tensor 时未同步 GeTensorDesc 中 tensor size 的问题。 原实现采用“先分配,再逐字段补写”的方式,只设置了 shape、format、dtype、addr 和 placement,没有初始化 TensorData size,导致下游 tiling 逻辑通过 Tensor::GetSize() 或 GetTensorData().GetSize() 获取 tensor 大小时得到默认值 0。 本次修改对齐 shape_inference.cc::GetTensorHolder 的构造方式,使用 placement new 构造 gert::Tensor,在创建阶段完成 shape、format、dtype、addr、placement 以及 TensorData size 初始化。同时补充 UT 校验和相关架构文档说明。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 请在右侧关联对应 Issue,并勾选合并后关闭关联 Issue。 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 执行 git diff --check,检查补丁格式。 2. 补充 TilingContextBuilderUT.BuildWithInputConstSuccess 用例,校验 GetInputTensor(1) 的 addr、dtype、origin shape,以及 GetSize() / GetTensorData().GetSize() 与 GeTensorDesc 中设置的 size 一致。 说明:当前本地无 CANN/ASCEND_HOME_PATH 环境,未能实际执行 UT。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本地提交信息: 【fix】: 修复tiling上下文tensor size未初始化问题 See merge request: cann/ge!2619 | 3 个月前 | |
【fix】: 修复tiling上下文tensor size未初始化问题 Co-authored-by: li1553770945<1553770945@qq.com> # message auto-generated for no-merge-commit merge: !2619 merge fix-tiling-context-tensor-size into develop 【fix】: 修复tiling上下文tensor size未初始化问题 Created-by: peacesheep Commit-by: li1553770945 Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 修复 TilingContextBuilder::BuildRtTensor 在构造 gert::Tensor 时未同步 GeTensorDesc 中 tensor size 的问题。 原实现采用“先分配,再逐字段补写”的方式,只设置了 shape、format、dtype、addr 和 placement,没有初始化 TensorData size,导致下游 tiling 逻辑通过 Tensor::GetSize() 或 GetTensorData().GetSize() 获取 tensor 大小时得到默认值 0。 本次修改对齐 shape_inference.cc::GetTensorHolder 的构造方式,使用 placement new 构造 gert::Tensor,在创建阶段完成 shape、format、dtype、addr、placement 以及 TensorData size 初始化。同时补充 UT 校验和相关架构文档说明。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 请在右侧关联对应 Issue,并勾选合并后关闭关联 Issue。 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 执行 git diff --check,检查补丁格式。 2. 补充 TilingContextBuilderUT.BuildWithInputConstSuccess 用例,校验 GetInputTensor(1) 的 addr、dtype、origin shape,以及 GetSize() / GetTensorData().GetSize() 与 GeTensorDesc 中设置的 size 一致。 说明:当前本地无 CANN/ASCEND_HOME_PATH 环境,未能实际执行 UT。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本地提交信息: 【fix】: 修复tiling上下文tensor size未初始化问题 See merge request: cann/ge!2619 | 3 个月前 | |
【feat】: remove protobuf 3.14 proto python file Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !2628 merge decouple_protobuf into develop 【feat】: remove protobuf 3.14 proto python file Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 删除 func2graph.py 之前调用的 3.14 版本的 proto py 接口文件。当前已废弃故删除。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 当前修改涉及的文件都是 ge_compiler 的run包中的。run包结构组织文件见: 1. cmake/package.cmake 2. scripts/package/module/ascend目录下的xml文件 See merge request: cann/ge!2628 | 3 个月前 | |
【PR】: 【fix】修正executor_dumper.cc中一处typo Co-authored-by: xuyonghuan<xuyonghuan@seu.edu.cn> # message auto-generated for no-merge-commit merge: !2652 merge develop into develop 【PR】: 【fix】修正executor_dumper.cc中一处typo Created-by: xuyonghuan Commit-by: xuyonghuan Merged-by: cann-robot Description: # Pull Request ## 描述 修正executor_dumper.cc中一处typo,提高日志可读性。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2652 | 3 个月前 | |
【feat】: 移除VF融合中compare与select/where必须成对且类型相同的限制 Co-authored-by: chenyukai<chenyukai4@huawei.com> # message auto-generated for no-merge-commit merge: !2667 merge br_c00826661_MaskReg0508 into develop 【feat】: 移除VF融合中compare与select/where必须成对且类型相同的限制 Created-by: chenyukai Commit-by: chenyukai Merged-by: cann-robot Description: # Pull Request ## 描述 移除compare算子(GE/EQ/NE/GT/LE/LT)与Where/Select算子在向VF融合时,必须成对出现且输入类型必须匹配的强制限制,允许这些算子独立参与VF融合。 主要改动: 1. VF融合限制移除: - compare算子IsVectorFunctionSupported移除对下游的名称和类型检查 - Where/Select算子IsVectorFunctionSupported移除对上游的名称和类型检查 - 移除TryMergeCompareOutputs函数,不再强制合并Compare节点的所有输出 2. MaskReg初始化策略调整: - ShouldInitAsMaskReg:仅当Compare输出全部流向Where/Select的mask输入时才初始化为MaskReg,否则Compare输出为普通RegTensor,通过临时MaskReg转换 3. 代码生成时的MaskReg转换机制: - Compare生成:非MaskReg输出时先写入临时MaskReg,再Duplicate到实际RegTensor - Where/Select生成:非MaskReg输入时先用CompareScalar转换RegTensor到临时MaskReg - VFLoop新增CollectMaskRegTempTensors收集需要临时MaskReg的tensor 4. Load/Store算子dtype转换增强: - 新增micro_dtype_utils.h统一dtype大小计算工具 - Load支持LoadDist UnPack模式实现小dtype到大dtype的加载转换 - Store支持StoreDist Pack模式实现大dtype到小dtype的存储转换 - CallParam新增max_dtype_size参数传递VF的最大dtype 5. 代码重构: - 提取CompareAscIrCodegenImplV2基类统一六个compare算子公共实现 6. 测试用例: - 新增mask_reg_chain相关端到端测试用例 - 扩展micro_load/store_api_call UT测试 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 在昇腾环境下,图中存在单独的where/select节点或者compare节点,或者成对存在,但是dtype相同。 这三种类型的节点可以进入VF融合中 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2667 | 3 个月前 | |
【feat】: 移除VF融合中compare与select/where必须成对且类型相同的限制 Co-authored-by: chenyukai<chenyukai4@huawei.com> # message auto-generated for no-merge-commit merge: !2667 merge br_c00826661_MaskReg0508 into develop 【feat】: 移除VF融合中compare与select/where必须成对且类型相同的限制 Created-by: chenyukai Commit-by: chenyukai Merged-by: cann-robot Description: # Pull Request ## 描述 移除compare算子(GE/EQ/NE/GT/LE/LT)与Where/Select算子在向VF融合时,必须成对出现且输入类型必须匹配的强制限制,允许这些算子独立参与VF融合。 主要改动: 1. VF融合限制移除: - compare算子IsVectorFunctionSupported移除对下游的名称和类型检查 - Where/Select算子IsVectorFunctionSupported移除对上游的名称和类型检查 - 移除TryMergeCompareOutputs函数,不再强制合并Compare节点的所有输出 2. MaskReg初始化策略调整: - ShouldInitAsMaskReg:仅当Compare输出全部流向Where/Select的mask输入时才初始化为MaskReg,否则Compare输出为普通RegTensor,通过临时MaskReg转换 3. 代码生成时的MaskReg转换机制: - Compare生成:非MaskReg输出时先写入临时MaskReg,再Duplicate到实际RegTensor - Where/Select生成:非MaskReg输入时先用CompareScalar转换RegTensor到临时MaskReg - VFLoop新增CollectMaskRegTempTensors收集需要临时MaskReg的tensor 4. Load/Store算子dtype转换增强: - 新增micro_dtype_utils.h统一dtype大小计算工具 - Load支持LoadDist UnPack模式实现小dtype到大dtype的加载转换 - Store支持StoreDist Pack模式实现大dtype到小dtype的存储转换 - CallParam新增max_dtype_size参数传递VF的最大dtype 5. 代码重构: - 提取CompareAscIrCodegenImplV2基类统一六个compare算子公共实现 6. 测试用例: - 新增mask_reg_chain相关端到端测试用例 - 扩展micro_load/store_api_call UT测试 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 在昇腾环境下,图中存在单独的where/select节点或者compare节点,或者成对存在,但是dtype相同。 这三种类型的节点可以进入VF融合中 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2667 | 3 个月前 | |
sync develop to master 20260203 Co-authored-by: cann-robot<songchangxia@cann.team> Co-authored-by: Mexyy<xiaguozheng1@hisilicon.com> Co-authored-by: lining23666<lining.li@huawei.com> Co-authored-by: Chang-an-HW<machangan@huawei.com> Co-authored-by: yelongjian<yelongjian1@huawei.com> Co-authored-by: isaacxu<xurui23@huawei.com> Co-authored-by: zhang_shengjie<804425610@qq.com> Co-authored-by: jin-xiaohang<jinxiaohang4@huawei.com> Co-authored-by: kobemini<gengchao4@huawei.com> Co-authored-by: wang-bin-789<wangbin153@huawei.com> Co-authored-by: stevenaw0<huangguijun@huawei.com> Co-authored-by: yangzw653<yangzongwen1@huawei.com> Co-authored-by: jikai-tyler<jikai5@huawei.com> Co-authored-by: liuyuanchen1<liuyuanchen1@huawei.com> # message auto-generated for no-merge-commit merge: !395 merge develop into master sync develop to master 20260203 Created-by: depeng1994 Commit-by: zhang_shengjie;cann-robot;Mexyy;liuyuanchen1;jikai-tyler;yangzw653;stevenaw0;kobemini;wang-bin-789;yelongjian;jin-xiaohang;isaacxu;Chang-an-HW;lining23666 Merged-by: depeng1994 Description: # Pull Request ## 描述 develop分支整体合入同步到master,详细描述见提交记录。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!395 | 6 个月前 | |
更新源码构建方式 Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !1314 merge master into master 更新源码构建方式 Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 优化安装CANN软件包场景,增加使用WebIDE安装的方式 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 根据资料中的最新步骤测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!1314 | 5 个月前 | |
fix: 为远程skill创建符号链接以支持Claude Code自动发现 Co-authored-by: kobemini<gengchao4@huawei.com> # message auto-generated for no-merge-commit merge: !2197 merge tmp3 into develop fix: 为远程skill创建符号链接以支持Claude Code自动发现 Created-by: kobemini Commit-by: kobemini Merged-by: cann-robot Description: ## Summary - Claude Code 仅扫描 .claude/skills/ 目录的**一级子目录**,安装脚本将远程 skill 放入 _remote/ 子目录后无法被自动发现 - 安装脚本在拷贝远程 skill 到 _remote/ 后,同步在 skills 根目录创建符号链接指向 _remote/ 下的对应目录 - 在 .gitignore 中添加远程 skill 符号链接的忽略条目 ## 改动文件 - .claude/skills/default-skills/scripts/install-default-skills.sh — 增加 ln -sfn 创建符号链接 - .gitignore — 添加 .claude/skills/gitcode-pr 和 .claude/skills/gitcode-issue 忽略条目 ## Test plan - [ ] 删除 _remote/ 目录后重新运行安装脚本,验证符号链接被正确创建 - [ ] 验证 git status 中不出现符号链接相关的未跟踪条目 - [ ] 验证 Claude Code 能通过符号链接正确发现并加载远程 skill See merge request: cann/ge!2197 | 4 个月前 | |
feat:新增pre-commit功能 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !1652 merge dev-precommit0331 into develop feat:新增pre-commit功能 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 新增pre-commit功能 背景:工程前置校验功能更新,校验内容下沉到代码仓,支持在本地使用pre-commit插件进行检查 用途:本地下载pre-commit插件后,git commit的同时会触发校验,修改后上库可以提前在本地解决codecheck问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!1652 | 4 个月前 | |
feat: 新增gitcode-pipeline skill及修复skill安装软链接问题 Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !2663 merge add_gp2 into develop feat: 新增gitcode-pipeline skill及修复skill安装软链接问题 Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 新增 gitcode-pipeline skill,支持触发CI、查询流水线状态、获取失败任务日志 2. 修复当 .claude/skills 目录下已存在实体目录时,软链接会建立在实体目录下的问题 3. 更新 README 文档,补充 gitcode-pipeline skill 说明 4. 更新 opencode.json 权限配置,添加 /tmp、~/Ascend、/usr/local/Ascend 目录 5. 更新 AGENTS.md,移除冗余的环境要求章节,补充 ci 操作说明 ## 变更类型 请选择本次引入的变更类型(勾选对应项): - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 如何测试 1. 验证 gitcode-pipeline skill 安装:运行 install-default-skills.sh,确认 gitcode-pipeline 被正确安装 2. 验证软链接修复:在 .claude/skills 目录下预创建同名目录,运行安装脚本确认软链接正确创建 3. 验证 pipeline 功能:触发一个 PR 的 CI 流水线并查询状态 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) ## 其他信息 本次变更涉及两个 commit,第一个添加 gitcode-pipeline skill,第二个修复安装脚本中的软链接问题。 See merge request: cann/ge!2663 | 3 个月前 | |
feat: 使用FetchContent复用cann/cmake公共构建框架 Co-authored-by: yitaoxt<yitaoxt@qq.com> # message auto-generated for no-merge-commit merge: !2460 merge develop into develop feat: 使用FetchContent复用cann/cmake公共构建框架 Created-by: yitaoxt Commit-by: yitaoxt Merged-by: cann-robot Description: # Pull Request ## 描述 feat: 使用FetchContent复用cann/cmake公共构建框架 参照runtime d49ff90f的做法,将GE工程内重复的公共构建函数删除, 改用FetchContent从cann/cmake公共仓获取: - 新增 cmake/fetch_cann_cmake.cmake,FetchContent拉取cann/cmake - CMakeLists.txt 添加 init_cann_project() 初始化公共构建环境 - cmake/function.cmake 删除6个公共函数(~89行),由公共仓提供 - version.cmake 重命名为 set_cann_package/set_cann_build_dependencies等 - 删除 scripts/check_build_dependencies.py 和 generate_version_info.py ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 重构构建代码,不对生成的二进制包做任何变动,修改前后生成的run包文件bep一致 2. 蓝区构建通过,回黄构建通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2460 | 3 个月前 | |
【PR】: sync develop to master Co-authored-by: xiangrenzhi<xiangrenzhi@huawei.com> Co-authored-by: liyanrong_9<liyanrong9@h-partners.com> Co-authored-by: chenyukai<chenyukai4@huawei.com> Co-authored-by: lihuachao<lihuachao1@huawei.com> Co-authored-by: WangYanMale<wangyan220@huawei.com> Co-authored-by: xchu42<chuxing@huawei.com> Co-authored-by: yelongjian<yelongjian1@huawei.com> Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !1749 merge develop into master 【PR】: sync develop to master Created-by: wqtshg_wt Commit-by: liyanrong_9;xingzhixiong;yelongjian;xiangrenzhi;xchu42;chenyukai;WangYanMale;lihuachao Merged-by: cann-robot Description: # Pull Request ## 描述 1、使用rtGetSocSpec查询padding替换固定padding 2、新增AscIR(ArgMax) 3、remainder的语义修改为a-floor(a/b)*b 4、消除Broadcast造成concat_dim解析错误的问题 5、修改CONTRIBUTING.md拼写错误 6、【Fix】:修复溢出检测场景下,给adump设置OP_OVERFLOW类型的dump配置引入nnopbase溢出检测用例报错的问题 7、删除已经失效的编译参数说明 8、[feat] autofuse adds compile options parameter to jit_compile python interface. 9、LLT优化 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!1749 | 4 个月前 | |
Initial commit | 8 个月前 | |
【PR】: 规范化OAT.xml中许可证声明形式 Co-authored-by: chenyx2012<975102023@qq.com> # message auto-generated for no-merge-commit merge: !1666 merge master into master 【PR】: 规范化OAT.xml中许可证声明形式 Created-by: chenyx_2012 Commit-by: chenyx2012 Merged-by: cann-robot Description: # Pull Request ## 描述 规范化OAT.xml中许可证声明形式 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!1666 | 5 个月前 | |
【PR】: 【更新文档】update TFA URL in README Co-authored-by: xiaguozheng<xiaguozheng1@hisilicon.com> # message auto-generated for no-merge-commit merge: !2165 merge f_20260422 into develop 【PR】: 【更新文档】update TFA URL in README Created-by: Mexyy Commit-by: xiaguozheng Merged-by: cann-robot Description: # Pull Request ## 描述 update TFA URL in README ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2165 | 4 个月前 | |
Initial commit | 8 个月前 | |
【PR】: add libseccomp to third party open source list Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !804 merge ln_0206 into develop 【PR】: add libseccomp to third party open source list Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 第三方开源软件列表中遗漏了libseccomp ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 不涉及功能修改 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!804 | 5 个月前 | |
【PR】: fix asan deadlock when fork | 7 个月前 | |
feat: 预埋ge_api_error_codes.cc,后续补充实现 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !2157 merge dev-mdc0421 into develop feat: 预埋ge_api_error_codes.cc,后续补充实现 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 预埋ge_api_error_codes.cc,后续补充实现 后续会把StatusFactory *Instance()修改为非内联函数,迁移到这个新的文件里面 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2157 | 4 个月前 | |
[chore]: Support Q2 building optimization - Support "cmake .. -DCANN_PACKAGES=xxx .." - Support 'make all'(cmake --build <all targets>) - Supports building of multiple components at a time - Add back 'Ascend-runtime_device-minios.tar.gz' to dflow-executor when building with 'ENABLE_SIGN'. Co-authored-by: z30016662<z30016662@huawei.com> Co-authored-by: zhuhaoran5<zhuhaoran5@huawei.com> # message auto-generated for no-merge-commit merge: !2207 merge support_Q2_building_optimization_20260423 into develop 【chore】: 支持Q2工程优化 Created-by: zhuhaoran5 Commit-by: zhuhaoran5;z30016662 Merged-by: cann-robot Description: # Pull Request ## 描述 支持Q2工程优化:支持 cmake 构建 run 包时使用默认目标 all,通过 CANN_PACKAGES 指定需要构建哪些 run 包 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 按照 README 部署构建环境 执行所有构建场景的脚本命令,能执行成功并且产物包内容与先前一致 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2207 | 4 个月前 | |
fix:MDC子包修改llvm目录 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !1428 merge dev-llvm0324 into develop fix:MDC子包修改llvm目录 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 MDC子包修改llvm目录 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!1428 | 5 个月前 | |
Initial commit | 8 个月前 | |
sync develop to master 20260210 Co-authored-by: cann-robot<songchangxia@cann.team> Co-authored-by: zhang_shengjie<804425610@qq.com> Co-authored-by: kobemini<gengchao4@huawei.com> Co-authored-by: lining23666<lining.li@huawei.com> Co-authored-by: stevenaw0<huangguijun@huawei.com> Co-authored-by: lihuachao<lihuachao1@huawei.com> Co-authored-by: wanghuajie<wanghuajie1@huawei.com> Co-authored-by: yangyongqiang0606<yangyongqiang7@hisilicon.com> Co-authored-by: yelongjian<yelongjian1@huawei.com> Co-authored-by: isaacxu<xurui23@huawei.com> Co-authored-by: du-hua1024<duhua2@huawei.com> Co-authored-by: maohaodi<maohaodi@huawei.com> Co-authored-by: jsong27<songjiaming6@h-partners.com> # message auto-generated for no-merge-commit merge: !571 merge develop into master sync develop to master 20260210 Created-by: depeng1994 Commit-by: cann-robot;jsong27;maohaodi;du-hua1024;zhang_shengjie;isaacxu;yelongjian;yangyongqiang0606;wanghuajie;lihuachao;stevenaw0;lining23666;kobemini Merged-by: wqtshg_wt Description: # Pull Request ## 描述 develop分支整体合入同步到master,详细描述见提交记录。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!571 | 6 个月前 | |
【PR】: 简要描述 Co-authored-by: yajie_caroline<yajie_caroline@noreply.gitcode.com> Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !17 merge master into master 【PR】: 简要描述 Created-by: yajie_caroline Commit-by: yajie_caroline;lining23666 Merged-by: wqtshg_wt Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!17 | 5 个月前 | |
feat: 使用FetchContent复用cann/cmake公共构建框架 Co-authored-by: yitaoxt<yitaoxt@qq.com> # message auto-generated for no-merge-commit merge: !2460 merge develop into develop feat: 使用FetchContent复用cann/cmake公共构建框架 Created-by: yitaoxt Commit-by: yitaoxt Merged-by: cann-robot Description: # Pull Request ## 描述 feat: 使用FetchContent复用cann/cmake公共构建框架 参照runtime d49ff90f的做法,将GE工程内重复的公共构建函数删除, 改用FetchContent从cann/cmake公共仓获取: - 新增 cmake/fetch_cann_cmake.cmake,FetchContent拉取cann/cmake - CMakeLists.txt 添加 init_cann_project() 初始化公共构建环境 - cmake/function.cmake 删除6个公共函数(~89行),由公共仓提供 - version.cmake 重命名为 set_cann_package/set_cann_build_dependencies等 - 删除 scripts/check_build_dependencies.py 和 generate_version_info.py ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 重构构建代码,不对生成的二进制包做任何变动,修改前后生成的run包文件bep一致 2. 蓝区构建通过,回黄构建通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!2460 | 3 个月前 |
GE(Graph Engine 图引擎)
🔥 Latest News
- [2026/03] 持续增强图优化能力,完善单元测试覆盖,修复多个边缘场景的编译问题;优化文档结构,提升开发者体验。
- [2026/02] 优化自动融合与广播场景支持,新增 BF16 数据类型支持;增强 HostCPU 引擎能力,优化 session 创建销毁锁机制;修复外置权重、线程加载等场景下的 bug;支持 Reduce 分核轴 Store 地址冲突惩罚,提升算子融合效果。
- [2026/01] GE 项目首次上线,开源图编译器和执行器,支持 PyTorch、TensorFlow 前端接入以及 ONNX、PB 模型格式解析与编译。
🚀 概述
GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。详见昇腾社区文档-图模式开发指南。

⚡️ 快速入门
若希望快速体验 GE 的工作方式及基本开发流程,可参考以下文档:
- 构建验证:介绍组件的完整构建、测试样例运行流程。
- 快速开始:以 ResNet50 模型为例,介绍如何使用 ATC 工具进行模型转换,并在昇腾 AI 处理器上执行推理。
- 快速开始-LLM:以 Qwen 模型为例,介绍如何使用 ATC 工具进行LLM模型转换,并实现LLM模型的加载、执行和获取执行结果等。
📚 文档
如需了解如何使用 GE 进行模型编译与执行,可参见图模式开发指南、技术文章等内容: GE 参考资料
如果希望深入了解 GE 的内部设计、架构机制与开发流程,可参考以下文档:
- GE 架构说明文档:介绍核心组件、执行流程、优化机制等内部原理。
- 贡献指南:说明如何提交 Issue、Pull Request 以及代码规范。
- AI Agent支持:介绍仓内默认使用的一些skills及使用agent辅助开发流程
🌐 生态集成
以下项目已集成 GE 作为推理或图模式后端:
- TorchAir:将 GE 接入 PyTorch 图模式。链接
- TFA(TensorFlow Adapter):将 GE 作为 TensorFlow 后端。链接
- JittorInfer:基于昇腾芯片的大模型 C++ 推理框架。链接
- Triton GE Backend:GE 的 Triton Inference Server 后端。链接
说明: 上述列表为已知并对外公开的集成案例,并非完整清单。 若您正在使用 GE,欢迎通过 Issue 或 PR 补充,我们将持续更新相关信息。
📝 其他信息
📝 联系我们
