GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【fix】: 修改GertModelData Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !5257 merge om2_GertModelData_2 into develop 【fix】: 修改GertModelData Created-by: lidaoming1 Commit-by: lidaoming1 Merged-by: cann-robot Description: # Pull Request ## 描述 变更摘要 本 PR 围绕 OM2 模型数据(GertModelData)的落盘结构与反序列化接口进行重构:将 GertModelDataProgramBody、GertModelDataKernelBinary、GertModelDataConstantsData 三种结构合并为统一的归档文件结构 GertModelDataFile(字段 file_name/data/data_size),并配套调整序列化、编译、加载、执行各环节;同时移除以位掩码选择文件类别的 GertDeserializeFiles 机制,改为按类别提供独立反序列化入口,并统一了 model_meta.json 中 data_type/format 的序列化形式。 主要改动 统一归档文件结构 GertModelDataFile: 新增 file_name(原 name)、data(改为 ge::ReadonlyByteBuffer) 与 data_size 字段,取代 GertModelDataProgramBody/GertModelDataKernelBinary/GertModelDataConstantsData,并新增 GertMakeFileData 用于构造数据拥有态副本;GertModelDataRuntime、GertModelDataKernels、GertModelDataCustomOps、constants_data 等容器类型随之改为 GertModelDataFile。 反序列化接口按类别拆分: 删除 GertDeserializeFiles 枚举、位运算与 HasFileField、kGertDeserializeAllExceptDebug 等掩码设施,新增 DeserializeGertModelMeta、DeserializeGertConstantsConfig、DeserializeGertVisualJson 三个独立入口及公共前置 PrepareModelUnit、RunDeserializeEntry,DeserializeGertModelData 也不再接收 files 参数。 归档路径与常量配置变更: OM2_CONSTANTS_CONFIG_PATH_FORMAT 由 data/model_%s/model_%s_constants_config.json 改为 data/model_%s/constants_config.json,序列化与反序列化两侧同步修改,ZipArchiveReader/ZipArchiveWriter 取消 GERT_MODEL_DATA_API 导出标记。 data_type/format 改为整型序列化: model_meta.json 及 AIPP dims 中的数据类型与格式由字符串(如 DT_FLOAT/NCHW)改为 int32_t 数值,删除 kStringToFormatMap、kStringToDataTypeMap、StrToDataType、StrToFormat 及相关 TypeUtils 依赖。 AIPP 判定与常量数据源查找方式调整: 移除 GertModelDataModelMeta::has_aipp 字段,改为以 aipp_infos.empty() 判定;执行器中 INTERNAL 常量不再按 constants_data[0] 取用,而是按 constants_config 中 INTERNAL 常量的 file_name 匹配 GertModelDataFile 数据源;RTVarFindEntry/RTVarFindEntryByName 辅助函数被删除。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!5257 | 10 天前 | |
所有覆盖率阶段报告固定上传 | 5 天前 | |
chore: 移除 superpowers skill 配置及 AGENTS.md 相关引用(#572) Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !5065 merge chore/remove-superpowers-skill into develop chore: 移除 superpowers skill 配置及 AGENTS.md 相关引用(#572) Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: cann-robot Description: # Pull Request ## 描述 移除仓库中第三方 superpowers skill/插件的启用配置,并同步改写 AGENTS.md 中引用 superpowers 的段落。 具体变更: - .claude/settings.json:删除 enabledPlugins 中的 superpowers@claude-plugins-official 条目 - .opencode/opencode.json:删除 plugin 中的 superpowers@git+https://github.com/obra/superpowers.git 条目 - AGENTS.md / AGENTS_en.md:"需求开发与新增功能"章节的使用技能由 superpower brainstorming skill 改为仓库自有的 ge-requirement-design;"设计文档检查项"章节去掉 brainstorming 输出文档、写入 docs/superpowers/specs 触发词,并把说明中的 superpowers 表述改为通用表述(设计文档模板与跨特性交叉影响检查要求保持不变) 变更原因: 1. superpowers 插件需从 github.com 拉取,离线/内网环境下 opencode 启动会失败或长时间等待 2. 插件注入的 brainstorming 等流程与仓库自有设计文档规范冲突,AGENTS.md 需额外声明兜底规则 3. 第三方插件随仓库配置分发但未登记在开源软件清单中,存在合规风险 4. 仓库已有等价能力(设计文档模板 + 自建 skill),无需保留外部插件 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/ge/issues/572 ## 如何测试 描述测试此变更的步骤和前提条件: 1. python3 -c "import json; json.load(open('.claude/settings.json')); json.load(open('.opencode/opencode.json'))",JSON 解析通过 2. grep -ri superpower .claude/settings.json .opencode/opencode.json AGENTS.md AGENTS_en.md,无残留引用 3. git diff --name-only HEAD~1 | xargs pre-commit run --files,全部 Passed(codespell 需临时 unset LD_LIBRARY_PATH,否则本地 Python 的 ctypes 加载 libffi 报错,与本变更无关) 4. 启动 AI 编码助手不再拉取 superpowers 插件,仓库自有 skill 与设计文档模板流程不受影响 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次变更仅涉及 AI 编码助手配置文件与贡献者指引文档,不涉及任何运行时代码、构建脚本和测试用例。 设计文档输出规范保持不变:仍必须读取仓库设计文档模板并覆盖模板中的每个章节。 See merge request: cann/ge!5065 | 28 天前 | |
【PR】: feat: OM2模型支持加载后动态设置流优先级 Co-authored-by: weixin_45332508<zhufan31@huawei.com> # message auto-generated for no-merge-commit merge: !5169 merge master_9_22 into develop 【PR】: feat: OM2模型支持加载后动态设置流优先级 Created-by: weixin_45332508 Commit-by: weixin_45332508 Merged-by: cann-robot Description: # Pull Request ## 描述 20260920评审通过 实现acl接口aclmdlSetAttributeImplOm2/aclmdlGetAttributeImplOm2,OM2模型支持加载后动态设置流优先级 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.在加载模型后,设置调用接口aclmdlSetAttribute设置流优先级,调用接口aclmdlGetAttribute获取流优先级,查看两个priority是否一致 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!5169 | 8 天前 | |
【PR】: feat: OM2模型支持加载后动态设置流优先级 Co-authored-by: weixin_45332508<zhufan31@huawei.com> # message auto-generated for no-merge-commit merge: !5169 merge master_9_22 into develop 【PR】: feat: OM2模型支持加载后动态设置流优先级 Created-by: weixin_45332508 Commit-by: weixin_45332508 Merged-by: cann-robot Description: # Pull Request ## 描述 20260920评审通过 实现acl接口aclmdlSetAttributeImplOm2/aclmdlGetAttributeImplOm2,OM2模型支持加载后动态设置流优先级 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.在加载模型后,设置调用接口aclmdlSetAttribute设置流优先级,调用接口aclmdlGetAttribute获取流优先级,查看两个priority是否一致 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!5169 | 8 天前 | |
revert: 回退ordinary AICPU常量折叠迁移 Co-authored-by: pan-tong<pantong@huawei.com> # message auto-generated for no-merge-commit merge: !5239 merge revert/opconstant-folding-migration into develop revert: 回退ordinary AICPU常量折叠迁移 Created-by: pan-tong Commit-by: pan-tong Merged-by: cann-robot Description: --- title: "revert: 回退ordinary AICPU常量折叠迁移" labels: ["bug-report"] assignees: "pan-tong" --- # Pull Request ## 描述 完整回退[GE #5200](https://gitcode.com/cann/ge/merge_requests/5200)合入develop的提交 5dfaef763,恢复GE旧ordinary AICPU常量折叠源码、target、stub、UT/ST及交付项,并恢复原HostCpuEngine加载顺序。 回退原因:迁移后bottom ordinary路由构造AICPU NodeDef时,input shape/format/dtype改为来自实际常量Tensor;迁移前这些元数据来自节点OpDesc。黄区TransData用例因此出现NHWC [4,4,3,3]推导期望FRACTAL_Z [12,1,16,16],与节点输出描述[16,1,16,16]冲突,AICPU失败后fallback到GE built-in。行为与迁移前不一致。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/ge/issues/609 相关迁移PR:[GE #5200](https://gitcode.com/cann/ge/merge_requests/5200)。 ## 如何测试 1. 基于最新develop对5dfaef763执行完整反向提交,无冲突。 2. 回退文件范围与原迁移提交一致,旧实现、target、stub和UT/ST全部恢复。 3. 保留迁移后其他提交新增的resource_usage_context.h交付项,未误回退后续改动。 4. pre-commit、clang-format、codespell和OAT通过。 5. 远端compile流水线重新验证。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 无需新增设计文档,问题分析和复现已记录 - [x] 我在标题中使用了合适的类型标签 - [x] 我已遵守贡献指南和单提交要求 ## 其他信息 后续重新迁移时,bottom ordinary AICPU路由必须恢复迁移前NodeDef语义:shape/format/dtype来自节点OpDesc,data地址和size来自实际常量Tensor;不能用提前fallback替代。 See merge request: cann/ge!5239 | 19 天前 | |
!5357 merge develop into master 【PR】: sync develop to master 20261010 Created-by: Jett_Woo Commit-by: weixin_45332508;tang-haojie;lidaoming1;penghongwei;likun104;chenqian1365 Merged-by: cann-robot Description: # Pull Request ## 描述 sync develop to master 20261010 ## 变更类型 请选择本次引入的变更类型: <!-- [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!5357 | 7 天前 | |
【PR】: 删除Ascend-runtime_device-minios.tar.gz打包 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !5096 merge chore/delete-minios-package into develop 【PR】: 删除Ascend-runtime_device-minios.tar.gz打包 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 Ascend-runtime_device-minios.tar.gz 已过兼容周期,后续不再需要打包,删除其完整打包链: - dflow/udf/cmake/device/CMakeLists.txt:删除 minios 打包段(hccd-compat 解包、unzip_hccd_compat/pack_runtime_device 目标、签名及 install 到 runtime/lib64),同时解除对 hccd 仓 pack_cann_hccd_compat 的联编依赖;cann-udf-compat.tar.gz 打包/签名保留 - dflow/udf/cmake/device/sign/runtime_dev_sign.xml:删除该包专用签名配置 - scripts/package/module/ascend/DflowExecutorSo.xml:删除 runtime、runtime/lib64 目录声明及该包的 file_info 块 说明:dflow/deployer/deploy/flowrm/tsd_client.cc 中 LoadPackages 保留不动——新驱动 tsd client 仍需通过该调用触发内部加载 udf/hccd 子包,不依赖 minios 文件实际存在(与历史删除提交 75bc07627 处理一致)。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. bash build.sh --dflow 构建成功(Built target dflow-executor),产物含 compat/cann-udf-compat.tar.gz,不再生成 Ascend-runtime_device-minios.tar.gz 2. git grep "Ascend-runtime_device" 仅剩 tsd_client.cc 运行时触发入口两处引用(预期保留) 3. 本地 pre-commit 检查全部 Passed ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 纯删除改动(3 files changed, 78 deletions)。本地构建为 ENABLE_SIGN=off,ENABLE_SIGN 分支为纯删除、if/else/endif 结构已复核,建议 CI 带签名流水线覆盖验证。 See merge request: cann/ge!5096 | 9 天前 | |
fix: 修复while子图内Const到ref算子读写冲突漏插Identity问题 Co-authored-by: tang-haojie<tanghaojie1@huawei.com> # message auto-generated for no-merge-commit merge: !5322 merge fix/while-subgraph-rw-conflict into develop fix: 修复while子图内Const到ref算子读写冲突漏插Identity问题 Created-by: tang-haojie Commit-by: tang-haojie Merged-by: cann-robot Description: # Pull Request ## 描述 修复 while 子图内语义级内存读写冲突漏插 Identity 的问题。 GraphOptimize::HandleMemoryRWConflict 原先对 while 子图内节点整体跳过(while 子图因循环依赖不做 RW 类型标注),导致 body/cond 内 Const -> ref 算子(kReadOnlyConst × kWriteable = INSERT_IDENTITY)等语义级读写冲突无人处理——SubgraphPass 只覆盖子图边界结构隔离(Data/NetOutput/While 输入侧),HcclMemcpyPass 只认 _input_mutable 算子。while 循环下 Const 被覆写后不会恢复(常量节点不每轮重新执行),后续迭代读到污染数据。 本次变更:将 while 子图的过滤从“整体跳过”收窄为“跳过 Identity 拆分/删除重排,保留冲突矩阵插入”: 1. while 子图内跳过 SplitIdentity/RemoveNoUseIdentity,防止破坏 SubgraphPass 已建立的结构隔离(如 while body 的 input_Memcpy/output_Memcpy,这些节点无 CANNOT_BE_DELETED 保护) 2. 保留 InsertIdentityAsNeeded 矩阵插入,补上 while 子图内 Const→ref、Const/ref 输出→ScopeWrite 类语义级冲突的隔离;矩阵自带 _skip_rw_conflict/CANNOT_BE_DELETED 双豁免,与 HcclMemcpyPass/SubgraphPass 不重复插入 3. 循环变量边(Data 出边/NetOutput 入边)仍由通用子图边界过滤保护,地址轮转不受影响 4. 同步更新 docs/zh/design/features/memory_conflict.md 架构文档 ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue 无 ## 如何测试 1. UT:tests/ge/ut/ge/graph/optimize/mem_rw_conflict_optimize_unittest.cc 新增 3 个用例 - WhileBodyConstToRef_InsertIdentity:while body 内 Const→Assign(ref) 插入 Identity 且带 CANNOT_BE_DELETED - WhileBodyDataToRef_NotInsertIdentity:while body 内 Data→ref 不重复插入 - WhileBodyExistIdentity_NotSplitNotRemove:while body 内已有 Identity(多消费者)不被拆分/删除/直连重排 2. 回归:ut_libge_multiparts_utest 全量 3163 用例通过;同 suite 24 用例通过;pre-commit 全部 Passed ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无 See merge request: cann/ge!5322 | 8 天前 | |
fix: SubgraphRewriter带ctx重载自动上报ReportMatch修复match/effect统计不对齐 Co-authored-by: DazhouCao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !5266 merge fix/fusion-sample-report-match into develop fix: SubgraphRewriter带ctx重载自动上报ReportMatch修复match/effect统计不对齐 Created-by: Dazhou_Cao Commit-by: DazhouCao;qq_45842700 Merged-by: cann-robot Description: # Pull Request ## 描述 复现 examples/fusion_pass/graph_base_pass/2_move_relu_before_concat_pass 样例时,fusion_result.json 中 match_times=0 而 effect_times=1,不符合 match_time(结构匹配全集)≥ effect_time(融合生效子集)的规律。进一步排查确认:**所有走带 ctx 的 SubgraphRewriter::Replace 路径的代码均存在 match_time 偏小问题**(包括 python SubgraphRewriter.replace(b, g, context=))。 **根因分析**: 1. 带 ctx 的 SubgraphRewriter::Replace 内部会自动调用 ReportFuse 累加 effect_time,但 match_time 的累加完全依赖调用方显式调用 GraphFuseInspectorUtils::ReportMatch(match_time 偏小的直接原因); 2. python binding 未暴露 report_match 接口,python 侧即使想手动上报也无接口可用; 3. PatternFusionPass/DecomposePass 走不带 ctx 的 2 参重载且统计自管理,不受影响。 **修复内容**: 1. **框架自动上报**:带 ctx 的 SubgraphRewriter::Replace 重载内部在 CanFuse 之前自动调用 ReportMatch(无论融合条件是否通过均计入 match_time,与 ReportMatch 接口语义对齐),彻底保证 match_time >= effect_time;上报失败仅告警不阻断替换流程; 2. **python 能力补齐**:binding 补齐 report_match 绑定及导出链路(_native.py/fuse_inspector.py/__init__.py/_ge_pass_native.pyi),供手动改图(不走 SubgraphRewriter)场景使用; 3. **样例对齐**:样例 2 回退手动上报(避免与框架自动上报双计),改为注释说明带 ctx 重载的自动上报行为; 4. **文档同步**:ReportMatch.md 约束说明、SubgraphRewriter/Replace.md 参数说明、compiler.md 机制描述均已更新,明确"带 ctx 重载自动上报,调用方不应重复手动调用"。 ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue 无 ## 如何测试 1. 单元测试:UtestMatchReplacer.ReplaceWithCtxReportsMatchAndEffectTimes(替换成功后 match=1/effect=1)、UtestMatchReplacer.ReplaceWithCtxReportsMatchWhenCanFuseFailed(CanFuse 失败时 match=1/effect=0) 2. 样例验证:编译安装样例 so → python es_gen_air.py 导出 air → atc --model=./graph.air --framework=1 --soc_version=xxx(或 torch_forward.py 在线推理)→ 查看 fusion_result.json,确认样例 pass 的 match_times=1、effect_times=1 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 本机验证情况:graph_rewriter.cc、graph_fuse_inspector_binding.cc、graph_rewriter_unittest.cc 均通过单文件编译验证(-Wall -Wextra -Werror);python 文件通过 py_compile 语法验证 - 本机无 NPU 环境,上板功能验证待 CI 或有环境时补充(预期 fusion_result.json 中 match_times=1, effect_times=1) See merge request: cann/ge!5266 | 9 天前 | |
fix: Pass开关跳过日志按实际命中层级打印原因 Co-authored-by: qq_45842700<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !5238 merge fix/pass-switch-skip-log into develop fix: Pass开关跳过日志按实际命中层级打印原因 Created-by: Dazhou_Cao Commit-by: qq_45842700 Merged-by: cann-robot Description: # Pull Request ## 描述 修复 Pass 开关跳过日志的误导性问题。 原日志统一打印 disabled by fusion switch config file 并附带 JSON 文件路径,但实际关闭来源可能是四层开关(graph option / JSON 精确匹配 / JSON ALL 通配 / DefaultSwitch 注册默认值)中的任意一层。例如: - 用户通过命令行 --optimization_switch=PassName:off 关闭 → 日志却显示 JSON 文件路径(误导用户去改 JSON,改了没用) - 开发者注册 DefaultSwitch(kOff) → 日志显示 JSON 文件路径且路径为空(用户去找不存在的文件) **变更内容:** 1. PassOptionUtils::IsPassEnable 四层判断各在返回 false 时打印实际命中层级: - 第1层:disabled by graph option (--optimization_switch) - 第2层:disabled by fusion switch config file (exact match) - 第3层:disabled by fusion switch config file (ALL wildcard) - 第4层:disabled by registration default (DefaultSwitch kOff) 2. 两个调用方(FusionPassExecutor::InitPassesIfNeed、CustomPassHelper::Run)日志简化为 is disabled.,原因由 IsPassEnable 内部提供,[FusionPass]/[CustomPass] 前缀区分执行路径 **修改后日志效果:** 命令行关闭: [PassSwitch] Pass [MyPass] is disabled by graph option (--optimization_switch). [FusionPass][SKIP] Pass [MyPass] is disabled. JSON 精确关闭: [PassSwitch] Pass [MyPass] is disabled by fusion switch config file (exact match). [FusionPass][SKIP] Pass [MyPass] is disabled. DefaultSwitch 关闭: [PassSwitch] Pass [MyStreamPass] is disabled by registration default (DefaultSwitch kOff). [CustomPass][SKIP] Pass [MyStreamPass] is disabled. ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue ## 如何测试 1. 全量 UT、ST passed(CI 验证) 2. 配置 --optimization_switch=PassName:off 编译模型,检查日志显示 disabled by graph option 3. 配置 fusion_switch_file JSON 精确 off,检查日志显示 disabled by fusion switch config file (exact match) 4. 注册 DefaultSwitch(kOff) 的 pass 无配置编译,检查日志显示 disabled by registration default ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 改动仅涉及日志语句,无接口变更、无逻辑变更、无头文件改动 - 本地编译被 develop 分支 tensor.cc 与本地 toolkit 版本不匹配问题阻断(预先存在的环境问题,与本改动无关,已通过 stash 对比确认),由 CI 验证编译 See merge request: cann/ge!5238 | 9 天前 | |
【PR】: feat: OM2模型支持加载后动态设置流优先级 Co-authored-by: weixin_45332508<zhufan31@huawei.com> # message auto-generated for no-merge-commit merge: !5169 merge master_9_22 into develop 【PR】: feat: OM2模型支持加载后动态设置流优先级 Created-by: weixin_45332508 Commit-by: weixin_45332508 Merged-by: cann-robot Description: # Pull Request ## 描述 20260920评审通过 实现acl接口aclmdlSetAttributeImplOm2/aclmdlGetAttributeImplOm2,OM2模型支持加载后动态设置流优先级 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.在加载模型后,设置调用接口aclmdlSetAttribute设置流优先级,调用接口aclmdlGetAttribute获取流优先级,查看两个priority是否一致 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!5169 | 8 天前 | |
fix: ONNX插件桥接按入口扫描触发并透出加载失败详情 Co-authored-by: huangfuqixun<3045324663@qq.com> # message auto-generated for no-merge-commit merge: !5177 merge fix/onnx-plugin-bridge-load-fail into develop fix: ONNX插件桥接按入口扫描触发并透出加载失败详情 Created-by: gentle-knight Commit-by: huangfuqixun Merged-by: cann-robot Description: # Pull Request ## 描述 修复 DT 问题单 1952: ASCEND_CUSTOM_OPP_PATH 非空即触发 ONNX Python 插件桥接加载,而该变量同时是 C++ 自定义算子的标准交付变量——纯 C++ 算子环境(目录无 python 插件入口、环境无桥接产物)下桥接加载必失败,且失败直接阻断该环境下所有 ONNX 模型解析,控制台仅报 E19999: LoadOnnxPythonPluginBridge failed. 泛化信息,具体原因仅进 plog。 **根因**:onnx_plugin 复用该环境变量作为触发判据,却缺失姊妹特性 custom_op 已有的入口存在性扫描(CheckNeedLoadPythonCustomOps),仅凭变量非空即触发桥接加载。 **修改内容**: 1. NeedLoad() 对齐 custom_op 模式:仅当环境变量各路径段存在可加载的 python 插件入口(.py 文件,或目录下单层非下划线开头的 .py 文件 / 含 __init__.py 的子目录)时才加载桥接;纯 C++ 自定义算子目录不再误触发,解析不再被环境阻断。新增可测试接口 HasPythonOnnxPluginEntryInEnv。 2. Python 运行时准备失败与桥接产物不匹配两类失败的根因详情(runtime key、可用产物清单、loader 路径、PYTHONPATH、修复指引)经 REPORT_INNER_ERR_MSG 透出到 ATC 控制台,替换原先仅进 plog 的泛化信息。 3. UT:入口扫描 11 种路径形态单测、纯 C++ 目录下 ModelParseToGraph 解析不阻断、产物缺失时失败详情上报断言;LoadThroughCommonLoader 改用真实临时目录适配新触发条件。 4. ST:test_onnx_parser 两处虚构路径改为真实插件入口目录(共享 helper 新增 ScopedPluginEntryDir)。 5. 文档:onnx_plugin_design.md 中英同步 3.2 节触发条件与第 2 节失败提示说明。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue DT 问题单 1952(pyPTO 模块功能测试:【自定义算子编译 OM 时报 LoadOnnxPythonPluginBridge failed】,Pegasus Auto V200R001C20B001,必现)。 ## 如何测试 1. 设置 ASCEND_CUSTOM_OPP_PATH 指向纯 C++ 自定义算子目录(无任何 .py 文件),ATC 编译任意 ONNX 模型 → 修复前报 E19999: LoadOnnxPythonPluginBridge failed.,修复后正常产出 OM 模型; 2. 设置变量指向含 .py 插件入口的目录但环境无匹配桥接产物(如 python 版本与产物 tag 不一致)→ 仍失败,但控制台报错包含 runtime key、可用产物清单与修复指引; 3. 单元/系统测试:ut_onnx_plugin_bridge_utest、ut_parser、st_parser。 测试结果:ut_onnx_plugin_bridge_utest 10/10、ut_parser 656/656、st_parser 65/65 全部通过;pre-commit 全部通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 行为变化说明:环境变量路径段无 python 插件入口时,桥接加载从"失败阻断编译"变为"跳过并打 INFO 日志",这是本次修复的目的(对齐 custom_op 特性既有行为);真插件用户环境不满足时仍失败,但报错可定位。 - 本分支基于 upstream/develop 最新(460147bb6)创建。 See merge request: cann/ge!5177 | 9 天前 | |
【refactor】: move amct headers to pkg_inc dir Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !3863 merge develop into develop 【refactor】: move amct headers to pkg_inc dir Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 将与 amct 相关的两个头文件移到 pkg_inc/ 目录下,方便统一管控。 上一单合入PR是:https://gitcode.com/cann/ge/pull/3317 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.不影响 toolkit 包内头文件位置 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3863 | 3 个月前 | |
!5357 merge develop into master 【PR】: sync develop to master 20261010 Created-by: Jett_Woo Commit-by: weixin_45332508;tang-haojie;lidaoming1;penghongwei;likun104;chenqian1365 Merged-by: cann-robot Description: # Pull Request ## 描述 sync develop to master 20261010 ## 变更类型 请选择本次引入的变更类型: <!-- [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!5357 | 7 天前 | |
【PR】: 删除Ascend-runtime_device-minios.tar.gz打包 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !5096 merge chore/delete-minios-package into develop 【PR】: 删除Ascend-runtime_device-minios.tar.gz打包 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: # Pull Request ## 描述 Ascend-runtime_device-minios.tar.gz 已过兼容周期,后续不再需要打包,删除其完整打包链: - dflow/udf/cmake/device/CMakeLists.txt:删除 minios 打包段(hccd-compat 解包、unzip_hccd_compat/pack_runtime_device 目标、签名及 install 到 runtime/lib64),同时解除对 hccd 仓 pack_cann_hccd_compat 的联编依赖;cann-udf-compat.tar.gz 打包/签名保留 - dflow/udf/cmake/device/sign/runtime_dev_sign.xml:删除该包专用签名配置 - scripts/package/module/ascend/DflowExecutorSo.xml:删除 runtime、runtime/lib64 目录声明及该包的 file_info 块 说明:dflow/deployer/deploy/flowrm/tsd_client.cc 中 LoadPackages 保留不动——新驱动 tsd client 仍需通过该调用触发内部加载 udf/hccd 子包,不依赖 minios 文件实际存在(与历史删除提交 75bc07627 处理一致)。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. bash build.sh --dflow 构建成功(Built target dflow-executor),产物含 compat/cann-udf-compat.tar.gz,不再生成 Ascend-runtime_device-minios.tar.gz 2. git grep "Ascend-runtime_device" 仅剩 tsd_client.cc 运行时触发入口两处引用(预期保留) 3. 本地 pre-commit 检查全部 Passed ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 纯删除改动(3 files changed, 78 deletions)。本地构建为 ENABLE_SIGN=off,ENABLE_SIGN 分支为纯删除、if/else/endif 结构已复核,建议 CI 带签名流水线覆盖验证。 See merge request: cann/ge!5096 | 9 天前 | |
!5357 merge develop into master 【PR】: sync develop to master 20261010 Created-by: Jett_Woo Commit-by: weixin_45332508;tang-haojie;lidaoming1;penghongwei;likun104;chenqian1365 Merged-by: cann-robot Description: # Pull Request ## 描述 sync develop to master 20261010 ## 变更类型 请选择本次引入的变更类型: <!-- [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!5357 | 7 天前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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!3726 | 3 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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!3726 | 3 个月前 | |
refactor: 抽取AtomicMemoryAssigner独立类 Co-authored-by: tangqunzhang<tangqunzhang@huawei.com> # message auto-generated for no-merge-commit merge: !4171 merge refactor/extract-atomic-memory-assigner into develop refactor: 抽取AtomicMemoryAssigner独立类 Created-by: tangqunzhang Commit-by: tangqunzhang Merged-by: cann-robot Description: # Pull Request ## 描述 将GraphMemoryAssigner中的atomic内存分配与清零相关逻辑抽取为独立的AtomicMemoryAssigner类,降低graph_mem_assigner.cc复杂度,提升可维护性。 抽取内容: - atomic_memory_assigner.cc/h:新增文件,包含atomic清零相关的结构体(MemoryOffset、CleanMemInfo、CleanDataTypeValue、AtomicNodeCleanTypeVals)、成员函数(ReAssign、SetAtomicCleanOffset、FilterAtomicNodes、AssignAtomicOutputMemory、AssignFusionAtomicWorkspaceMemory等)及辅助函数 - graph_mem_assigner.cc/h:移除atomic相关函数和结构体,通过atomic_memory_assigner_成员委托调用 - graph_mem_splitter.h:新增GraphMemSplitterPtr类型别名 - 测试用例:适配AtomicMemoryAssigner拆分,封装InitAtomicMemoryAssigner辅助函数 同时补充HCCL算子零拷贝地址刷新判断:IsAddressRefreshable在动态shape静态子图场景认为hccl算子可刷新,统一使用IsHcomNodeNotSupportAddrRefresh的结果。 ## 变更类型 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) ## 关联的Issue ## 如何测试 1. 基于develop分支编译ge_compiler 2. 运行graph_mem_assigner_unittest、mem_assigner_unittest等单元测试 3. 运行test_graph_compiler系统测试 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) ## 其他信息 与PR #4229(从block_mem_assigner抽取零拷贝及辅助函数)拆分,本PR仅包含atomic内存分配逻辑的抽取。 See merge request: cann/ge!4171 | 2 个月前 | |
fix: 切换 OAT 合规检查仓库 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !4693 merge dev-oat0902 into develop fix: 切换 OAT 合规检查仓库 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: ## 描述 将 OAT 合规检查从仓库本地脚本切换为 HiAgent/compliance 远程 pre-commit hook,固定使用 v1.0.5。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 运行 pre-commit validate-config,配置解析通过。 2. 推送时远程 Git hooks 检查通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无。 See merge request: cann/ge!4693 | 1 个月前 | |
chore: 移除 superpowers skill 配置及 AGENTS.md 相关引用(#572) Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !5065 merge chore/remove-superpowers-skill into develop chore: 移除 superpowers skill 配置及 AGENTS.md 相关引用(#572) Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: cann-robot Description: # Pull Request ## 描述 移除仓库中第三方 superpowers skill/插件的启用配置,并同步改写 AGENTS.md 中引用 superpowers 的段落。 具体变更: - .claude/settings.json:删除 enabledPlugins 中的 superpowers@claude-plugins-official 条目 - .opencode/opencode.json:删除 plugin 中的 superpowers@git+https://github.com/obra/superpowers.git 条目 - AGENTS.md / AGENTS_en.md:"需求开发与新增功能"章节的使用技能由 superpower brainstorming skill 改为仓库自有的 ge-requirement-design;"设计文档检查项"章节去掉 brainstorming 输出文档、写入 docs/superpowers/specs 触发词,并把说明中的 superpowers 表述改为通用表述(设计文档模板与跨特性交叉影响检查要求保持不变) 变更原因: 1. superpowers 插件需从 github.com 拉取,离线/内网环境下 opencode 启动会失败或长时间等待 2. 插件注入的 brainstorming 等流程与仓库自有设计文档规范冲突,AGENTS.md 需额外声明兜底规则 3. 第三方插件随仓库配置分发但未登记在开源软件清单中,存在合规风险 4. 仓库已有等价能力(设计文档模板 + 自建 skill),无需保留外部插件 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/ge/issues/572 ## 如何测试 描述测试此变更的步骤和前提条件: 1. python3 -c "import json; json.load(open('.claude/settings.json')); json.load(open('.opencode/opencode.json'))",JSON 解析通过 2. grep -ri superpower .claude/settings.json .opencode/opencode.json AGENTS.md AGENTS_en.md,无残留引用 3. git diff --name-only HEAD~1 | xargs pre-commit run --files,全部 Passed(codespell 需临时 unset LD_LIBRARY_PATH,否则本地 Python 的 ctypes 加载 libffi 报错,与本变更无关) 4. 启动 AI 编码助手不再拉取 superpowers 插件,仓库自有 skill 与设计文档模板流程不受影响 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次变更仅涉及 AI 编码助手配置文件与贡献者指引文档,不涉及任何运行时代码、构建脚本和测试用例。 设计文档输出规范保持不变:仍必须读取仓库设计文档模板并覆盖模板中的每个章节。 See merge request: cann/ge!5065 | 28 天前 | |
chore: 移除 superpowers skill 配置及 AGENTS.md 相关引用(#572) Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !5065 merge chore/remove-superpowers-skill into develop chore: 移除 superpowers skill 配置及 AGENTS.md 相关引用(#572) Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: cann-robot Description: # Pull Request ## 描述 移除仓库中第三方 superpowers skill/插件的启用配置,并同步改写 AGENTS.md 中引用 superpowers 的段落。 具体变更: - .claude/settings.json:删除 enabledPlugins 中的 superpowers@claude-plugins-official 条目 - .opencode/opencode.json:删除 plugin 中的 superpowers@git+https://github.com/obra/superpowers.git 条目 - AGENTS.md / AGENTS_en.md:"需求开发与新增功能"章节的使用技能由 superpower brainstorming skill 改为仓库自有的 ge-requirement-design;"设计文档检查项"章节去掉 brainstorming 输出文档、写入 docs/superpowers/specs 触发词,并把说明中的 superpowers 表述改为通用表述(设计文档模板与跨特性交叉影响检查要求保持不变) 变更原因: 1. superpowers 插件需从 github.com 拉取,离线/内网环境下 opencode 启动会失败或长时间等待 2. 插件注入的 brainstorming 等流程与仓库自有设计文档规范冲突,AGENTS.md 需额外声明兜底规则 3. 第三方插件随仓库配置分发但未登记在开源软件清单中,存在合规风险 4. 仓库已有等价能力(设计文档模板 + 自建 skill),无需保留外部插件 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/ge/issues/572 ## 如何测试 描述测试此变更的步骤和前提条件: 1. python3 -c "import json; json.load(open('.claude/settings.json')); json.load(open('.opencode/opencode.json'))",JSON 解析通过 2. grep -ri superpower .claude/settings.json .opencode/opencode.json AGENTS.md AGENTS_en.md,无残留引用 3. git diff --name-only HEAD~1 | xargs pre-commit run --files,全部 Passed(codespell 需临时 unset LD_LIBRARY_PATH,否则本地 Python 的 ctypes 加载 libffi 报错,与本变更无关) 4. 启动 AI 编码助手不再拉取 superpowers 插件,仓库自有 skill 与设计文档模板流程不受影响 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次变更仅涉及 AI 编码助手配置文件与贡献者指引文档,不涉及任何运行时代码、构建脚本和测试用例。 设计文档输出规范保持不变:仍必须读取仓库设计文档模板并覆盖模板中的每个章节。 See merge request: cann/ge!5065 | 28 天前 | |
revert: 回退ordinary AICPU常量折叠迁移 Co-authored-by: pan-tong<pantong@huawei.com> # message auto-generated for no-merge-commit merge: !5239 merge revert/opconstant-folding-migration into develop revert: 回退ordinary AICPU常量折叠迁移 Created-by: pan-tong Commit-by: pan-tong Merged-by: cann-robot Description: --- title: "revert: 回退ordinary AICPU常量折叠迁移" labels: ["bug-report"] assignees: "pan-tong" --- # Pull Request ## 描述 完整回退[GE #5200](https://gitcode.com/cann/ge/merge_requests/5200)合入develop的提交 5dfaef763,恢复GE旧ordinary AICPU常量折叠源码、target、stub、UT/ST及交付项,并恢复原HostCpuEngine加载顺序。 回退原因:迁移后bottom ordinary路由构造AICPU NodeDef时,input shape/format/dtype改为来自实际常量Tensor;迁移前这些元数据来自节点OpDesc。黄区TransData用例因此出现NHWC [4,4,3,3]推导期望FRACTAL_Z [12,1,16,16],与节点输出描述[16,1,16,16]冲突,AICPU失败后fallback到GE built-in。行为与迁移前不一致。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/ge/issues/609 相关迁移PR:[GE #5200](https://gitcode.com/cann/ge/merge_requests/5200)。 ## 如何测试 1. 基于最新develop对5dfaef763执行完整反向提交,无冲突。 2. 回退文件范围与原迁移提交一致,旧实现、target、stub和UT/ST全部恢复。 3. 保留迁移后其他提交新增的resource_usage_context.h交付项,未误回退后续改动。 4. pre-commit、clang-format、codespell和OAT通过。 5. 远端compile流水线重新验证。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 无需新增设计文档,问题分析和复现已记录 - [x] 我在标题中使用了合适的类型标签 - [x] 我已遵守贡献指南和单提交要求 ## 其他信息 后续重新迁移时,bottom ordinary AICPU路由必须恢复迁移前NodeDef语义:shape/format/dtype来自节点OpDesc,data地址和size来自实际常量Tensor;不能用提前fallback替代。 See merge request: cann/ge!5239 | 19 天前 | |
docs: 补充贡献指南中的提交自检清单和GE功能级指引 Co-authored-by: cao qiancheng<220255669@seu.edu.cn> # message auto-generated for no-merge-commit merge: !4152 merge feat/contributing-doc into develop docs: 补充贡献指南中的提交自检清单和GE功能级指引 Created-by: sunsummercqc Commit-by: cao qiancheng Merged-by: cann-robot Description: # Pull Request ## 描述 补充 CONTRIBUTING.md,新增以下章节: 1. **提交前自检清单**:PR 提交前的格式、提交规范、文档要求检查项,以及 CI 门禁说明表,帮助贡献者本地验证避免 CI 失败 2. **GE 功能级贡献指引**:代码目录导航、改动场景→约束文档速查表、设计文档要求、测试要求表、通用编码红线摘要 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 阅读 CONTRIBUTING.md,确认新章节格式正确、链接有效 2. 对照新增章节逐项验证:pre-commit 命令是否可执行、CI 门禁表是否完整、目录导航是否准确 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 修改仅涉及 CONTRIBUTING.md 单一文件,不影响代码逻辑。新增内容整合了 GE 仓库已有的分散文档(precommit_guide.md、coding_red_lines.md、架构设计文档等),作为贡献者的一站式入口。 See merge request: cann/ge!4152 | 1 个月前 | |
docs: 补充贡献指南中的提交自检清单和GE功能级指引 Co-authored-by: cao qiancheng<220255669@seu.edu.cn> # message auto-generated for no-merge-commit merge: !4152 merge feat/contributing-doc into develop docs: 补充贡献指南中的提交自检清单和GE功能级指引 Created-by: sunsummercqc Commit-by: cao qiancheng Merged-by: cann-robot Description: # Pull Request ## 描述 补充 CONTRIBUTING.md,新增以下章节: 1. **提交前自检清单**:PR 提交前的格式、提交规范、文档要求检查项,以及 CI 门禁说明表,帮助贡献者本地验证避免 CI 失败 2. **GE 功能级贡献指引**:代码目录导航、改动场景→约束文档速查表、设计文档要求、测试要求表、通用编码红线摘要 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 阅读 CONTRIBUTING.md,确认新章节格式正确、链接有效 2. 对照新增章节逐项验证:pre-commit 命令是否可执行、CI 门禁表是否完整、目录导航是否准确 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 修改仅涉及 CONTRIBUTING.md 单一文件,不影响代码逻辑。新增内容整合了 GE 仓库已有的分散文档(precommit_guide.md、coding_red_lines.md、架构设计文档等),作为贡献者的一站式入口。 See merge request: cann/ge!4152 | 1 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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!3726 | 3 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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!3726 | 3 个月前 | |
【PR】: 更新产品名称 Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !5055 merge develop into develop 【PR】: 更新产品名称 Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 修改产品名称 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/ge/issues/565 ## 如何测试 根据最新资料进行测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!5055 | 28 天前 | |
【PR】: 更新产品名称 Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !5055 merge develop into develop 【PR】: 更新产品名称 Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: # Pull Request ## 描述 修改产品名称 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/ge/issues/565 ## 如何测试 根据最新资料进行测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!5055 | 28 天前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 2 个月前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 2 个月前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 2 个月前 | |
【feat】: upgrade json to v3.12.0 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !4283 merge upgrade_json into develop 【feat】: upgrade json to v3.12.0 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 将 json 升级到 v3.12.0 以及修改相关的文档、脚本 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. DT 验证即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4283 | 2 个月前 | |
refactor: dflow session/compiler/executor 目录结构调整到 runner 平级目录 Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !4263 merge dflow into develop refactor: dflow session/compiler/executor 目录结构调整到 runner 平级目录 Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: ## 描述 将 dflow 的 session、compiler、executor 三个目录统一移入 dflow/runner/ 下,使 session 与 compiler、executor 处于平行层级。编译产物 libdflow_runner.so 输出到 dflow/runner/ 目录,目录结构与编译结果对应。 **调整前**: dflow/ ├── compiler/ ← 编译层(含 session 子目录) │ ├── CMakeLists.txt ← dflow_runner 编译定义 │ ├── data_flow_graph/ │ ├── model/ │ ├── pne/ │ └── session/ ← session 原在此 ├── executor/ ← 执行层 ├── deployer/ ├── ... **调整后**: dflow/ ├── runner/ ← 新建,dflow_runner 编译入口 │ ├── CMakeLists.txt ← dflow_runner 编译定义 │ ├── compiler/ ← 编译层 │ ├── executor/ ← 执行层 │ └── session/ ← session 层(与 compiler/executor 平级) ├── deployer/ ├── ... ## 变更类型 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 ## 关联的Issue ## 如何测试 1. 增量编译 dflow_runner 目标,确认 libdflow_runner.so 输出到 dflow/runner/ 目录 2. 确认所有 #include 路径正确解析 3. 确认 pre-commit 检查全部通过 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 涉及 112 个文件变更(目录 rename + include 路径更新) - 编译验证通过:libdflow_runner.so 正确输出到 cmake-build-gcov/dflow/runner/libdflow_runner.so - 文档同步更新:docs/zh/design/modules/dflow/dflow.md、docs/en/design/modules/dflow/dflow.md、blacklist.txt See merge request: cann/ge!4263 | 2 个月前 | |
chore: 添加体验需求issue模板,构建/测试脚本过滤.gitcode目录修改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !5172 merge dev-issuetpl0924 into develop chore: 添加体验需求issue模板,构建/测试脚本过滤.gitcode目录修改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 1. 新增体验需求 issue 模板 .gitcode/ISSUE_TEMPLATE/experience-request.yml,并按 GE 仓库定位定制:模板描述与"体验活动所处阶段"选项面向图编译/执行场景(模型转换与图编译、模型加载与执行、问题调试、性能调优等)。 2. build.sh 与 tests/run_test.sh 的 check_changed_files 增加 .gitcode/ 目录过滤:当 -f 修改文件清单仅涉及 .gitcode/、.claude/、.opencode/ 等目录时跳过编译/测试(与已有 .claude/、.opencode/ 过滤行为保持一致)。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 准备仅含 .gitcode/、.claude/、.opencode/ 路径的修改清单文件,执行 bash build.sh -f <清单文件>,输出 skipping build 并退出(exit 200),不进行编译 2. 清单中混有源码路径(如 base/xx.cc)时,正常进入编译流程 3. tests/run_test.sh -f <清单文件> 行为同上(skipping test) 4. 已本地验证:bash -n 语法检查通过;check_changed_files 函数在"仅隐藏目录/混合源码/空清单"三种场景下行为均符合预期;yml 通过 YAML 语法校验 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无 See merge request: cann/ge!5172 | 20 天前 | |
Initial commit | 9 个月前 | |
hccl_engine UT/ST接入门禁流水线并修复线上ut/st测试问题 | 9 天前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [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!3726 | 3 个月前 | |
fix: update GE version to 9.2.0 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !4199 merge fix-ge-version-9.2.0 into develop fix: update GE version to 9.2.0 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: Updates the GE package versions and build dependencies to 9.2. See merge request: cann/ge!4199 | 2 个月前 |
GE(Graph Engine 图引擎)
简体中文 | English
🔥 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 后端。链接
- MindSpore Lite: 将 GE 作为 MindSpore Lite 后端。 链接
说明: 上述列表为已知并对外公开的集成案例,并非完整清单。 若您正在使用 GE,欢迎通过 Issue 或 PR 补充,我们将持续更新相关信息。
📝 其他信息
📝 联系我们
