文件最后提交记录最后更新时间
refactor: dflow-executor包device侧工程改造 Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !3242 merge 20260529-normalize-dflow-device into develop refactor: dflow-executor包device侧工程改造 Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: # Pull Request ## 描述 dflow-executor包device侧工程改造。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.对比修改前后dflow包二进制,一致。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!32424 天前
feat: protobuf整改迁移公共仓 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3234 merge dev-3rd0529 into develop feat: protobuf整改迁移公共仓 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 protobuf整改迁移公共仓 ## 变更类型 请选择本次引入的变更类型: <!-- [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!32344 天前
Initial commit 5 个月前
Initial commit 5 个月前
revert//【PR】: 简要描述 Co-authored-by: cann-robot<cann@cann.team> # message auto-generated for no-merge-commit merge: !3193 merge revert-mr-3188-1779877137064-auto into master revert//【PR】: 简要描述 Created-by: cann-robot Commit-by: cann-robot Merged-by: cann-robot 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!31936 天前
Initial commit 5 个月前
【feat】: Unified compilation options Co-authored-by: tangqunzhang<tangqunzhang@huawei.com> # message auto-generated for no-merge-commit merge: !1331 merge develop into develop 【feat】: Unified compilation options Created-by: tangqunzhang Commit-by: tangqunzhang Merged-by: cann-robot Description: # Pull Request ## 描述 问题/功能描述 本次PR对CMake构建系统进行了统一清理与优化,旨在解决构建配置分散、冗余的问题,并提升构建的灵活性与可维护性。主要工作包括:调整关键CMake模块的包含逻辑以确保其在更广泛的构建上下文中可用;系统性地移除多个子模块中对通用构建配置文件的冗余包含指令;以及简化非测试、非Windows平台下的默认编译选项,移除了强制性的优化级别和将警告视为错误的限制,便于调试。 修改方案描述 具体修改分为三个方面:1) 将intf_pub_linux.cmake文件的包含语句从条件块内移至CMakeLists.txt的全局范围,确保接口定义全局可用。2) 在cmake/build_type.cmake中,将默认编译选项简化为仅保留可见性控制标志,移除了-O2、-Werror等标志。3) 清理了graph_base、graph等多个子目录CMakeLists.txt中冗余的include(build_type.cmake)指令,并将该包含指令统一移至inc/graph_metadef/CMakeLists.txt中,实现了构建配置的集中管理。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!13312 个月前
【PR】: sync ge_dev to master 20260309 Co-authored-by: cann-robot<songchangxia@cann.team> Co-authored-by: tang-haojie<tanghaojie1@huawei.com> Co-authored-by: isaacxu<xurui23@huawei.com> Co-authored-by: yelongjian<yelongjian1@huawei.com> Co-authored-by: kobemini<gengchao4@huawei.com> Co-authored-by: yuchen97<wangyuchen38@huawei.com> Co-authored-by: maohaodi<maohaodi@huawei.com> Co-authored-by: lihuachao<lihuachao1@huawei.com> Co-authored-by: liuyuanchen1<liuyuanchen1@huawei.com> Co-authored-by: KenChow<zhouchen53@huawei.com> Co-authored-by: wtf_newage<liuqiang238@hisilicon.com> Co-authored-by: jin-xiaohang<jinxiaohang4@huawei.com> Co-authored-by: peiyang<lipeiyang@huawei.com> Co-authored-by: wangxiaotian995<710309755@qq.com> # message auto-generated for no-merge-commit merge: !993 merge develop into master 【PR】: sync ge_dev to master 20260309 Created-by: peiyang Commit-by: peiyang;cann-robot;wangxiaotian995;jin-xiaohang;wtf_newage;KenChow;liuyuanchen1;lihuachao;yelongjian;maohaodi;yuchen97;kobemini;isaacxu;tang-haojie Merged-by: zhangfan_hanq Description: # Pull Request ## 描述 本PR指在将develop分支的代码同步合入master分支,包括以下特性: 1、canfuse融合前删除无效轴且清空内部计数 2、fix custom ops path problem 3、优化后端dump图呈现形式 4、修改license描述 5、es 文档更新 6、修复Tiny形态so打包问题 7、解决Tiny形态缺少依赖导致的编译报错 8、统一样例环境准备流程及优化readme内容结构 9、增加装包pip3校验 10、修复sample issue 11、清理acl目录重复头文件 12、ATT性能公式注释及表达式优化 13、generate函数适配历史原型库功能修改 14、合并拷贝使用pin内存 15、Autofuse融合节点名字精简化 16、放开split纵向+横向融合限制 17、GetTensor函数增加判空 18、优化concat分组重计算 19、当concat的对齐值小于等于1时,无意义,跳过这种判断&头文件路径修复 ## 变更类型 请选择本次引入的变更类型: <!-- [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!9932 个月前
feat: protobuf整改迁移公共仓 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3234 merge dev-3rd0529 into develop feat: protobuf整改迁移公共仓 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 protobuf整改迁移公共仓 ## 变更类型 请选择本次引入的变更类型: <!-- [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!32344 天前
【chore】: 支持Q2工程优化: 解耦 'add_cann_third_party(grpc)' 和 'find_package(gRPC CONFIG REQUIRED)' Co-authored-by: zhuhaoran5<zhuhaoran5@huawei.com> # message auto-generated for no-merge-commit merge: !3296 merge support_Q2_building_optimization_dev into develop 【chore】: 支持Q2工程优化 Created-by: zhuhaoran5 Commit-by: zhuhaoran5 Merged-by: cann-robot Description: # Pull Request ## 描述 【chore】: 支持Q2工程优化: 解耦 'add_cann_third_party(grpc)' 和 'find_package(gRPC CONFIG REQUIRED)' ## 变更类型 请选择本次引入的变更类型: <!-- [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!32961 天前
Initial commit 5 个月前
revert//【PR】: 简要描述 Co-authored-by: cann-robot<cann@cann.team> # message auto-generated for no-merge-commit merge: !3193 merge revert-mr-3188-1779877137064-auto into master revert//【PR】: 简要描述 Created-by: cann-robot Commit-by: cann-robot Merged-by: cann-robot 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!31936 天前
revert//【PR】: 简要描述 Co-authored-by: cann-robot<cann@cann.team> # message auto-generated for no-merge-commit merge: !3193 merge revert-mr-3188-1779877137064-auto into master revert//【PR】: 简要描述 Created-by: cann-robot Commit-by: cann-robot Merged-by: cann-robot 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!31936 天前
fix: ENABLE_ASAN归一化支持多种真值写法(TRUE/ON/YES等) Co-authored-by: kobemini<gengchao4@huawei.com> # message auto-generated for no-merge-commit merge: !2302 merge es_bufix0004 into develop fix: ENABLE_ASAN归一化支持多种真值写法(TRUE/ON/YES等) Created-by: kobemini Commit-by: kobemini Merged-by: cann-robot Description: # Pull Request ## 描述 在 cmake/generate_es_package.cmake 中,ENABLE_ASAN 变量在 file(WRITE) 生成 shell 脚本时被原值替换到脚本中。原代码在 shell 中使用字符串比较仅能匹配小写 true,导致用户传入 TRUEONOnYES 等 CMake 标准真值时 ASAN 预加载逻辑不生效。 **修复方案**:在 file(WRITE) 之前,利用 CMake if(ENABLE_ASAN) 的原生布尔判断将值归一化为 "true" 或空字符串,写入 ENABLE_ASAN_NORMALIZED 变量供脚本模板使用。CMake 的 if() 自动识别所有标准真值(TRUE/True/ON/On/on/YES/yes/1 等),无需逐一枚举。 ## 变更类型 - [x] Bug 修复 - [ ] 新功能 - [ ] 代码风格更新 - [ ] 重构 - [ ] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 如何测试 1. 使用 -DENABLE_ASAN=ON(或 TRUEYes1)配置 CMake 项目 2. 检查生成的 run_gen_esb_with_lock.sh 脚本中 ASAN 判断逻辑是否正确包含 LD_PRELOAD 设置 3. 验证使用小写 true 时行为不变(向后兼容) ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) ## 其他信息 - 修改仅涉及 cmake/generate_es_package.cmake 一个文件 - 新增 7 行,修改 1 行 - 归一化逻辑在脚本生成前执行,无运行时开销 See merge request: cann/ge!23021 个月前
fix: 修复llvm的asan编译 Co-authored-by: 叶龙剑<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !2186 merge dev-llt0422 into develop fix: 修复llvm的asan编译 Created-by: yelongjian Commit-by: 叶龙剑 Merged-by: cann-robot Description: # Pull Request ## 描述 修复llvm的asan编译 ## 变更类型 请选择本次引入的变更类型: <!-- [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!21861 个月前
【feat】:自定义算子入图支持地址刷新 Co-authored-by: yuht9<yuhaitao6@huawei.com> # message auto-generated for no-merge-commit merge: !3270 merge develop into develop 【feat】:自定义算子入图支持地址刷新 Created-by: yuht9 Commit-by: yuht9 Merged-by: cann-robot Description: # Pull Request ## 描述 新增接口与数据结构: - ArgsHandler: args 内存管理抽象接口(VA 分配 + H2D 拷贝) - KernelArgs: kernel launch arguments 结构体,含 placement 信息 - UpdateArgsContext: 地址刷新上下文,继承自 EagerOpExecutionContext - ArgsUpdater: 自定义算子地址刷新能力接口,算子继承后框架在 I/O 地址变化时回调 UpdateHostArgs - SinkOpArgsHandler: SinkOp 场景下 ArgsHandler 实现,委托 CustomTaskInfo 完成分配 - ArgsAllocationResult: 分配结果描述,含 reserved/extra 来源信息 - TaskInfo 新增 NeedReserveArgsTable/UpdateHostArgs/GetArgsAllocationResults 虚接口 CustomTaskInfo 扩展: - 支持 ArgsUpdater 算子检测(IsAddressRefreshable)及地址刷新策略 - MallocReadOnlyDevArgsImpl 双路径分配:reserved 段(支持刷新)/ 动态内存(H2D 直拷) - UpdateHostArgs 实现 I/O 地址更新及算子回调 - InitArgsIoAddrsUpdater 初始化地址映射关系 ModelArgsManager 扩展: - 三级内存分配:reserved segment -> existing extra pool -> new extra pool - IntegrateCustomOpArgs 将自定义算子 args 集成到统一刷新流程 - IntegrateReservedH2DCopyDatas/IntegrateExtraH2DCopyDatas 注册 H2D 刷新数据 - IntegrateReservedUpdateDatas/IntegrateExtraUpdateDatas 注册 host args 刷新数据 - UpdateCustomOpHostArgs/RefreshExtraH2DCopyDatas 执行阶段触发刷新 - custom_op_policies_to_task_infos_ 使用 unordered_set 保证去重 编译器适配: - block_mem_assigner: 自定义算子支持零拷贝(IsAddressRefreshable 动态判断) - mem_layout_conflict_util: 自定义算子支持地址刷新 CustomOpFactory 扩展: - IsAddressRefreshable: 通过 dynamic_cast 判断算子是否支持地址刷新 UT/ST 用例: - SinkOpArgsHandler/CustomTaskInfo/ModelArgsManager/ArgsIoAddrsUpdater/UpdateArgsContext/DavinciModel 单元测试 - 自定义算子地址刷新端到端 ST 用例及 CustomTaskInfo 地址刷新模式验证 - reserved+extra 去重验证、多个 ArgsUpdater 并发刷新测试 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.构造自定算子连接模型边界场景,算子实现UpdateHostArgs函数,模型执行精度正确。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 20260423评审通过 See merge request: cann/ge!32701 天前
feat: 支持Python自定义Fusion Pass开发能力 Co-authored-by: kobemini<gengchao4@huawei.com> # message auto-generated for no-merge-commit merge: !1892 merge python_pass_f_0002 into develop feat: 支持Python自定义Fusion Pass开发能力 Created-by: kobemini Commit-by: kobemini Merged-by: cann-robot Description: 20260326评审通过 # Pull Request ## 描述 本PR引入GE Python自定义Fusion Pass开发能力(V1),使用户可以通过纯Python编写FusionBasePass并通过装饰器@register_fusion_pass注册,GE编译器在初始化阶段自动发现并执行Python pass。 ### 核心设计 - **独立bridge .so架构**:将Python版本敏感逻辑(pybind11、Python.h、libpython)收敛到独立的libge_python_pass_bridge.so中,ge_compiler.so保持Python ABI中立 - **复用现有执行框架**:Python pass注册到现有PassRegistry,由FusionPassExecutor统一调度执行,不新建第二套调度体系 - **环境变量发现机制**:通过ASCEND_GE_PY_PASS_PATH指定pass文件/目录路径,编译器自动扫描加载 ### 主要变更模块 **Python侧(新增 ge.passes 包)** - base.py:三类pass的纯Python基类(FusionBasePass、PatternFusionPass、DecomposePass)及PassStage、PassContext等数据类 - registry.py:Python侧pass注册表,提供@register_fusion_pass装饰器 - bootstrap.py:插件发现入口,从ASCEND_GE_PY_PASS_PATH扫描加载pass模块 - _bridge.py:Python与C++ bridge的协议层,管理pass holder生命周期 **C++侧(新增+修改)** - pass_plugin_loader:统一pass插件加载入口 - pass_registry:扩展全局注册表,新增PythonPassDescriptor、RegisterPythonPass等 - python_fusion_base_pass_adapter:Python pass的C++ adapter - python_fusion_base_pass_bridge_c_api:Bridge SO的稳定C ABI - python_fusion_base_pass_bridge_loader:Bridge SO的运行时加载器(dlopen/dlsym) - python_fusion_base_pass_pybind_bridge:Bridge SO的pybind11实现(嵌入式Python解释器) **构建系统** - 新增ge_python_pass_bridge共享库目标 - 重构Python依赖查找逻辑,新增ge_python_embed INTERFACE目标 **初始化入口改造** - ge_api_v2.ccge_ir_build.ccge_generator.cc:统一替换为LoadPassPlugins()/ShutdownPassPluginsForProcess() **测试** - 新增7个C++单元测试(adapter生命周期、pybind bridge端到端、TLS上下文等) - 新增Python侧集成测试(bootstrap发现、holder创建运行销毁) **文档** - 新增详细设计文档docs/ge_python/design/ge_python_pass_design.md(约1650行) ## 变更类型 - [ ] Bug 修复 - [x] 新功能 - [ ] 代码风格更新 - [ ] 重构 - [ ] 构建过程或辅助工具的变动 - [x] 文档内容更新 ## 如何测试 1. 编译ge_compiler组件:bash build.sh --ge_compiler 2. 编译运行UT测试:bash tests/run_test.sh --ut=ge 3. 重点验证UT用例:PythonFusionBasePass_Run_CreateExecuteDestroy、PythonFusionBasePass_Run_Failed、PythonFusionBasePass_PybindBridge_RunSuccess等 4. 验证Python侧测试:python_pass_bootstrap_test.py ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(feat:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) ## 其他信息 本PR为"GE Pass Python化 V1"功能的首次提交,仅支持FusionBasePass类型。PatternFusionPassDecomposePass的桥接将在后续PR中实现。 See merge request: cann/ge!18921 个月前
revert//【PR】: 简要描述 Co-authored-by: cann-robot<cann@cann.team> # message auto-generated for no-merge-commit merge: !3193 merge revert-mr-3188-1779877137064-auto into master revert//【PR】: 简要描述 Created-by: cann-robot Commit-by: cann-robot Merged-by: cann-robot 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!31936 天前
Initial commit 5 个月前