文件最后提交记录最后更新时间
feat: rts api replace Co-authored-by: liyanrong9<liyanrong9@h-partners.com> # message auto-generated for no-merge-commit merge: !2615 merge rts_interface_replace_0507 into develop feat: rts api replace Created-by: liyanrong_9 Commit-by: liyanrong9 Merged-by: cann-robot Description: # Pull Request ## 描述 完成FE责任田的rts接口替换工作:将 ge\runtime\v2\engine 目录下的部分 rt 接口替换为 aclrt 接口。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 跑通ut st 2. 跑通班车用例 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!261520 天前
【PR】: 简要描述 [feat]AICPU 引擎添加可选输入占位符(optional input placeholder)功能 Co-authored-by: jialimin1<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !3199 merge cherry-pick-mr-2973-1779882921815-auto into develop 【PR】: 简要描述 [feat]AICPU 引擎添加可选输入占位符(optional input placeholder)功能 Created-by: jialimin1 Commit-by: jialimin1 Merged-by: cann-robot Description: # Pull Request ## 描述 主要功能: 为 AICPU 引擎添加可选输入占位符(optional input placeholder)功能 背景:在可选输入位于中间位置时,例如 IR 输入顺序为 x, y(optional), z,如果实际只喂入 x, z,旧逻辑按有效输入数或实际 anchor 数组织 AICPU 参数,容易导致 z 被当成 y,造成输入地址、shape、ext info 和 kernel 侧输入序号错位。 修改目标:当算子信息库配置 optionalInputPlaceholder=true 时,AICPU/HostCPU 相关链路按 IR 全量输入槽位处理,未喂入的 optional input 使用空 shape / nullptr addr 占位,从而保持 IR 输入顺序。 主要修改点: 新增配置项和内部属性 新增算子信息库配置项:optionalInputPlaceholder 编译期将配置写入 OpDesc AICPU task/ext info 按全量输入槽位生成 NodeDef 和 AICPU args 保留 optional input 槽位 Runtime lowering 增加 shape/address 扩展 编译器引擎:在内核构建器和优化器中添加可选输入占位符的解析和设置逻辑 运行时引擎:实现输入地址和形状的扩展处理 测试用例:新增单元测试覆盖。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.算子的算子信息库中配置了optionalInputPlaceholder为True 2.构造算子为动态输入 ## 核对清单 <!-- [x] 表示选中 --> -[x] 我的代码遵循了项目的代码风格 -[x] 我已对代码进行了自测 -[x] 我已更新了相关的文档 -[x] 我在标题中使用了合适的类型标签(如:feat:, fix:) -[x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!31995 天前
【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】: rt接口切换为aclrt系列接口-memcpy相关 Co-authored-by: guopeian<guopeian1@hisilicon.com> Co-authored-by: wuzhengzhen<wuzhengzhen@huawei.com> # message auto-generated for no-merge-commit merge: !1496 merge aclrt_memcpy_test into develop 【feat】: rt接口切换为aclrt系列接口-memcpy相关 Created-by: wuzhengzhen Commit-by: wuzhengzhen;guopeian Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 rtFree aclrtFree rtMalloc aclrtMalloc rtMemcpy aclrtMemcpy rtMallocHost aclrtMallocHost rtGetTsMemType aclrtMallocForTaskScheduler rtMemset aclrtMemset rtMemcpyAsyncWithoutCheckKind aclrtMemcpyAsync rtMemcpyAsync aclrtMemcpyAsync ## 变更类型 请选择本次引入的变更类型: <!-- [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!14961 个月前
【PR】: 添加dvpp接口废弃声明打印。 Co-authored-by: gcw_SdoHO0Xo<zhengwenqiang4@h-partners.com> # message auto-generated for no-merge-commit merge: !2725 merge master into master 【PR】: 添加dvpp接口废弃声明打印。 Created-by: gcw_SdoHO0Xo Commit-by: gcw_SdoHO0Xo 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!272522 天前
【PR】: 对外重复头文件修改对内部分新增文件,待legacy仓修改后再删除 Co-authored-by: SeasonChu<zhuxincheng2@huawei.com> # message auto-generated for no-merge-commit merge: !3198 merge fixIncPart2 into develop 【PR】: 对外重复头文件修改对内部分新增文件,待legacy仓修改后再删除 Created-by: SeasonChu Commit-by: SeasonChu Merged-by: cann-robot Description: # Pull Request ## 描述 文件名相同,内容不同,一个对外,一个内部,内部的头文件整改文件名 问题原因: 历史遗留问题 问题影响: 外部开发者易用性体验,不易理解 解决方案: 内部头文件整改文件名,保留原文件,待leagcy仓修改后再删除 ## 变更类型 请选择本次引入的变更类型: <!-- [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!31985 天前
【PR】: 对外重复头文件修改对内部分新增文件,待legacy仓修改后再删除 Co-authored-by: SeasonChu<zhuxincheng2@huawei.com> # message auto-generated for no-merge-commit merge: !3198 merge fixIncPart2 into develop 【PR】: 对外重复头文件修改对内部分新增文件,待legacy仓修改后再删除 Created-by: SeasonChu Commit-by: SeasonChu Merged-by: cann-robot Description: # Pull Request ## 描述 文件名相同,内容不同,一个对外,一个内部,内部的头文件整改文件名 问题原因: 历史遗留问题 问题影响: 外部开发者易用性体验,不易理解 解决方案: 内部头文件整改文件名,保留原文件,待leagcy仓修改后再删除 ## 变更类型 请选择本次引入的变更类型: <!-- [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!31985 天前
【PR】: 对外重复头文件修改对内部分新增文件,待legacy仓修改后再删除 Co-authored-by: SeasonChu<zhuxincheng2@huawei.com> # message auto-generated for no-merge-commit merge: !3198 merge fixIncPart2 into develop 【PR】: 对外重复头文件修改对内部分新增文件,待legacy仓修改后再删除 Created-by: SeasonChu Commit-by: SeasonChu Merged-by: cann-robot Description: # Pull Request ## 描述 文件名相同,内容不同,一个对外,一个内部,内部的头文件整改文件名 问题原因: 历史遗留问题 问题影响: 外部开发者易用性体验,不易理解 解决方案: 内部头文件整改文件名,保留原文件,待leagcy仓修改后再删除 ## 变更类型 请选择本次引入的变更类型: <!-- [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!31985 天前
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!5713 个月前
【PR】:ge一月份需求合入(包含整改dflow ST、自定义算子执行Context等) Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !223 merge master into master 【PR】:ge一月份需求合入(包含整改dflow ST、自定义算子执行Context等) Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 ge一月份需求合入: 1、llt测试用例相关重复stub文件清理 2、Triton入图parser解析dlopen的handle关闭 - Triton入图parser解析dlopen的handle关闭 - 补充tensorflow 中其他的入参类型 - 优化parser 解析的的代码 3、UserGraphsManager suppport gert::Tensor - UserGraphsManager及JitExecutor等RunGraphAsync入参由ge::Tensor改为gert::Tensor - 老的兼容接口Session::RunGraph/RunGraphAsync在ge_api.cc 将ge::Tensor转换为gert::Tensor,然后调用InnerSession的接口。 4、整改dflow ST中的HELPER_RES_FILE_PATH - HELPER_RES_FILE_PATH配置文件已经废弃,需要删除并整改用例使用RESOURCE_CONFIG_PATH。 - rtGetIsHeterogenous接口已经废弃,需要删除并整改用例使用RESOURCE_CONFIG_PATH环境变量。 5、注册ge错误码 - 从error_code.json文件中拆分出GE错误码,通过ErrorManager模块的对外接口REG_FORMAT_ERROR_MSG宏完成GE错误码的注册 6、使能acl目录覆盖率拦截项 7、triton入图parser解析优化 8、告警规则处理 9、refactor parser/common/tuple.h 10、fix UserGraphControl SetCompiledFlag/SetCompiledFlag 11、修复Sample问题 - Include stdint and stddef for base mdl - move CheckRunGraphMode to ge_api_v2.cc 12、自定义算子执行Context 13、fix AllRealInputsAreTheSameOutAnchor error log issue - 在Session::AddGraph时会造一个UserGraphControl实例。因此在UserGraphControl中增加compiled_flag 14、bugfix:handling excessively long name - 避免因字符串过长导致二进制匹配耗尽资源而coredump,裁剪name,只保留最开始的128字符 15、acl code check告警处理 16、modify 3rd compile para 17、修改自定义ES_API Sample问题 && README.md 18、Refined inner session to no longer retrieve GraphNode or GraphOptions via graph_id from graph_manager. 19、ES关键类PIMPL实现 && 修改命名空间 - EsCGraphBuilder, CompliantNodeBuilder, EsCTensorHolder改为PIMPL实现 - 修改AddEdgeAndUpdatePeerDesc和CompliantNodeBuilder命名空间至ge::es 20、手动实现log功能, 实现debug_print函数来定位 ## 变更类型 请选择本次引入的变更类型: <!-- [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!2233 个月前