| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【feat】: om2 rt接口替换成aclrt Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !3691 merge om2_rt2aclrt into develop 【feat】: om2 rt接口替换成aclrt Created-by: lidaoming1 Commit-by: lidaoming1 Merged-by: cann-robot Description: # Pull Request ## 描述 变更摘要 本次 PR 主要将 OM2 代码生成器中的底层运行时接口从 rt(rtStream_t、rtEvent_t、rtNotify_t 等)系统性地替换为 aclrt 系列接口(aclrtStream、aclrtEvent、aclrtNotify、aclrtBinHandle 等)。变更覆盖了代码生成的基础设施层(CodeGeneratorBase)、接口头文件生成、加载与执行文件生成、以及多个 Task Code Builder 中的分发辅助函数。对于 rt_external*.h 中未暴露但仍在使用的 rtLabelDevInfo 结构体和 rtCmoAddrTaskLaunch 函数,新增了前向声明机制以保持兼容。部分底层 rt* API(如 rtSetTaskTag、rtGeneralCtrl、rtStreamCreateWithFlags 等)因无对应 aclrt 替代接口而保留。 主要改动 CodeGeneratorBase 接口层扩充: 在 code_generator_base.h 中新增了大量 Aclrt* 辅助方法(如 AclrtMemcpy、AclrtMemcpyAsync、AclrtCreateStreamWithConfig、AclrtLaunchKernelV2 等),统一封装对 aclrt* C API 的调用,同时保留少数仍需使用的 rt* 方法(RtSetTaskTag、RtGeneralCtrl 等)。 新增 rt 前向声明机制: 在 interface_file_code_generator.cc 中新增 BuildRtForwardDecls() 方法,为 rtLabelDevInfo 结构体和 rtCmoAddrTaskLaunch 函数生成前向声明,因为这些符号不在 rt_external*.h 中暴露但仍被生成代码使用。 接口头文件类型全面替换: interface_file_code_generator.cc 中 DealParamForOm2ModelClass 和 BuildOm2ModelClass 生成的成员变量类型从 rt* 系列全面迁移到 aclrt* 系列(如 std::vector<aclrtStream>、std::vector<aclrtBinHandle>、aclrtLabelList 等)。 Task Code Builder 参数类型更新: cmo_addr_task_code_builder.cc、event_wait_task_code_builder.cc、memcpy_addr_async_task_code_builder.cc 中 RenderDistHelper 生成的辅助函数的 stream/event 参数类型统一更换为 aclrtStream / aclrtEvent / aclrtNotify。 代码生成流程调整: program_generator.cc 中 GenerateInterfaceHeader 增加了对 BuildRtForwardDecls() 的调用,并将返回的前向声明插入到生成的头文件中;load_and_run_file_code_generator.cc 新增了 BuildAclrtMallocFunction、BuildCommonHelperFunctions、BuildDispatchOp 等方法以支持新的 aclrt 接口体系。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!3691 | 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 个月前 | |
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】: aclrtGetStreamAvailableNum接口日落,GE同步去使能相关功能 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !3723 merge develop into develop 【refactor】: aclrtGetStreamAvailableNum接口日落,GE同步去使能相关功能 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. aclrtGetStreamAvailableNum 接口日落,且无类似功能接口替换。GE需要同步去使能相关的功能。 2. 移除 aclrtGetStreamAvailableNum、aclrtMemcpyAsyncWithCondition、aclrtGetVersion 符号(包括 tests 目录下的打桩符号) ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 参考文档 docs/zh/design/modules/runtime/runtime.md ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3723 | 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 个月前 | |
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: 统一管理 Python 解释器生命周期 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !3631 merge develop into develop fix: 统一管理 Python 解释器生命周期 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 当前 TBE、Python Pass 等多处依赖 Python 解释器,本 PR 引入 GePythonRuntimeManager,在 GE 各初始化入口统一探测、加载 libpython 并管理 Python 解释器生命周期,为 Python Fusion Pass 等能力提供一致的运行时基础。 **主要变更:** ### 1. 新增 GePythonRuntimeManager(base/common/python_runtime/) - ge_python_runtime_manager.h:管理器类定义,提供 EnsureReady() / ShutdownProcess() 接口 - ge_python_runtime_manager.cc:管理器实现,包含 EnsureReadyLocked()、FinalizeOwnedInterpreterLocked() 等核心逻辑 - ge_python_runtime_manager_helper.h:辅助头文件,包含 Python C API 类型定义、符号常量、探测脚本及 inline 工具函数(ResolvePythonCApi、EnsureLibpythonLoaded、ProbePythonRuntimeFromCommand 等) - 自动探测 python3/python 并解析 libpython 路径,通过 dlopen 加载 Python C API - 若进程内已有解释器则 attach,否则初始化 owned interpreter 并在 init 线程释放 GIL ### 2. 接入 GE 初始化链路 - GEInitializeV2 / GEFinalizeV2(api/session/client/ge_api_v2.cc) - GeGenerator::Initialize(compiler/api/generator/ge_generator.cc) - aclgrphBuildInitializeImpl / aclgrphBuildFinalize(compiler/api/aclgrph/ge_ir_build.cc) - ATC 离线编译路径(api/atc/main_impl.cc):GenerateModel、GenerateSingleOp 等入口在 GELib::Initialize 前调用 EnsureReady(),失败/退出路径补充 ShutdownProcess() ### 3. 测试更新 - 新增 ge_python_runtime_unittest.cc,覆盖 attach 已有解释器、owned interpreter 初始化与 shutdown 场景 - 更新 fusion_pass_executor_unittest.cc:添加 python_pass_loaded_ 状态追踪,SetUp/TearDown 仅在加载过 Python pass 时调用 UnloadPythonPasses() - 更新 ge_generator_unittest.cc、ge_api_v2_unittest.cc、ge_ir_build_unittest.cc 等,在 teardown 中调用 ShutdownProcess() 避免用例间状态污染 - 更新 ST 测试入口(test_main.cc、rt2_test_main.cc、dump_test_fixture.h)添加 ShutdownProcess() - 更新 dflow 测试(test.cc、init_ge.h、dflow_api_unittest.cc、ge_api_dflow_unittest.cc)添加 GEFinalize() 调用 - 新增 scoped_unset_ld_preload.h 辅助类,用于 ge_running_env_test 中临时清除 LD_PRELOAD 环境变量 ## 变更类型 - [x] ✨ 新功能 - [ ] 🐛 Bug 修复 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 验证在线、离线、atc 场景编译入口在加载 Python pass 前能成功初始化解释器(日志含 [GePythonRuntime] Loaded libpython 或 Initialize owned interpreter) 2. 运行 ge_python_runtime_unittest 验证 attach/owned interpreter 生命周期管理 3. 运行 fusion_pass_executor_unittest 验证 Python pass 注册与卸载逻辑 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 无 See merge request: cann/ge!3631 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 |