| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
refactor: generate arch5162 unsupported ACL entry stubs Co-authored-by: zhangpengpeng8<zhangpengpeng8@hisilicon.com> # message auto-generated for no-merge-commit merge: !946 merge local_dev into master refactor: generate arch5162 unsupported ACL entry stubs Created-by: zhangpengpeng8 Commit-by: zhangpengpeng8 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 为 arch5162 增加 ACL 入口侧自动打桩能力,仅影响 arch5162 独立 libruntime.so: 1. 以 acl_rt_wrapper.h 中 5 组 X-Macro 为唯一签名来源,生成器解析全部 403 个 ACL C++ 包装入口,避免手工复制函数声明和参数。新增 X-Macro 接口对 arch5162 默认不支持。 2. 使用 arch5162_unsupported_acl_api.def 管理 309 个不支持入口;接口能力范围来自 [PR4491](https://gitcode.com/cann/runtime/merge_requests/4491),其中 294 个返回 ACL_ERROR_RT_FEATURE_NOT_SUPPORT、5 个返回空指针、10 个返回零值。aclrtNonBlockingLaunchBegin、aclrtNonBlockingLaunchEnd 已按默认策略纳入强桩。 3. 生成的 aclXxxImpl 强桩编入 arch5162 libruntime.so;同一产品下真实 ACL Impl provider 使用弱符号和独立函数段,强桩覆盖后由 --gc-sections 回收未使用的真实实现。 4. PR4491 的 baseline 明确支持 92 个 ACL API:91 个是 X-Macro 生成入口,aclAppLog 是生成目录外的可变参数手写入口。未取得产品支持结论的新接口不能因为进入 X-Macro 而自动成为 arch5162 真实实现。 5. X-Macro 的 403 个入口拆分为:91 个支持入口、309 个强桩入口,以及 aclmdlInitDump、aclmdlSetDump、aclmdlFinalizeDump 3 个待确认 Dump 入口。91 个支持入口和 3 个待确认入口共保留 94 个弱真实 provider,不能将 94 全部统计为“支持入口”。该机制通过 arch5162 目标属性启用,不改变其他产品的符号属性和构建流程。 6. 生成器只生成产品强桩和 provider 报告。测试侧提交固定的 C++ X-Macro 测试套,直接展开同一份产品清单;每个清单接口同时验证 aclXxxImpl 与公开 aclXxx 的返回策略,不再由 Python 生成测试源码。 7. ACL_API_REAL_PROVIDER_COUNT 固定当前 94 个弱真实 provider。新增 X-Macro 接口若未同步加入不支持清单,生成阶段会直接失败;ACLRT 接口开发 Skill 已加入同一同步要求。 非 ACL_ERROR_RT_FEATURE_NOT_SUPPORT 的 15 个接口如下: - NULLPTR 返回 nullptr:aclCreateDataBuffer、aclGetDataBufferAddr、aclrtAllocatorCreateDesc、aclrtCreateBinary、aclrtCreateGroupInfo。 - ZERO 返回 0:aclDataTypeSize、aclFloat16ToFloat、aclFloatToFloat16、aclGetDataBufferSize、aclGetDataBufferSizeV2、aclrtGetDeviceIdFromExceptionInfo、aclrtGetErrorCodeFromExceptionInfo、aclrtGetStreamIdFromExceptionInfo、aclrtGetTaskIdFromExceptionInfo、aclrtGetThreadIdFromExceptionInfo。 [PR4630](https://gitcode.com/cann/runtime/merge_requests/4630) 给出了 ACL 入口桩边界、能力范围推导、返回策略、弱真实 provider 和验证方法的完整设计分析。 调用路径保持为 libacl_rt.so 公开 ACL 入口调用 libruntime.so 中同名 aclXxxImpl。因此不支持能力在 ACL 路由入口直接结束,不再进入共享的 rtXxx 路径,也不会因为底层 Runtime API 被支持接口复用而误伤支持能力。 本 PR 仅包含实现、构建脚本、测试及 .claude/skills/aclrt-interface-development/SKILL.md 修改;不修改其他 Markdown 文件或产品文档。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 使用 PRODUCT=ascend5162a 配置并构建 runtime、acl_rt、acl_rt_impl 和 runtime_utest_arch5162,全部通过。 2. ACL 桩生成器单测 9/9、既有 Runtime 桩生成器单测 9/9 通过。 3. 固定 ACL 双入口测试 309/309 通过;rebase 最新 master 后,runtime_utest_arch5162 全量 1364/1364 通过。 4. 普通 ascendcl_utest 全量 1191/1191 通过,确认 arch5162 弱实现配置没有泄漏到普通 ACL UT 目标。 5. ELF 校验确认不支持入口 aclrtDeviceL2CacheFlushImpl 为强桩,支持入口 aclrtSetDeviceImpl 保留弱真实实现;ldd -r libacl_rt.so 未发现未解析符号。动态加载 libacl_rt.so 调用 aclrtDeviceL2CacheFlush(nullptr) 返回预期的 207000。 6. 功能引入时与 55c796246 使用相同配置对比:去符号后的 arch5162 libruntime.so 从 5,680,728 字节降至 5,193,304 字节,减少 487,424 字节,约 8.58%。当前版本进一步将两个新增 NonBlocking 入口纳入强桩,不扩大 arch5162 支持范围。 7. 对本次修改文件执行 pre-commit run --files ... 通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 本次变更不修改产品文档;Markdown 变更仅限 .claude/skills/aclrt-interface-development/SKILL.md - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 PR 采用三个可独立验证的提交:第一步引入空清单生成框架;第二步填充 arch5162 清单并启用强桩覆盖;第三步落实新增 ACL 接口默认不支持的生成门禁和 ACLRT 接口开发约束。出现问题时可按提交粒度回退。 已 rebase 至 origin/master@fa7dd7df2ddfd6b75c7ad6168b6f2dc99d1fe492,当前 head 为 22faac59e9a11a5307fdeda3aaa2810ad60739eb。最终 head 的 GitCode [线上 CI](https://gitcode.com/CANN/runtime/actions/runs/9b475d874cd1463aa183fc7001da08cc) 已通过(COMPLETED,无失败任务)。 See merge request: cann/runtime!946 | 4 天前 | |
[feat]runtime add feature runtime-thread-aicpu for arch5162 Co-authored-by: FengHaozhan<fenghaozhan@huawei.com> # message auto-generated for no-merge-commit merge: !4695 merge arch5162-aicpuV2-0831 into master [feat]runtime add feature runtime-thread-aicpu for arch5162 Created-by: FengHaozhan Commit-by: FengHaozhan Merged-by: cann-robot Description: # Pull Request ## 描述 为 arch5162 引入 RuntimeThread AICPU 插件化执行链路: - 新增 Runtime 与 libruntime_thread_aicpu.so 的插件 ABI,负责动态加载、任务准备/释放及流销毁通知。 - 插件侧创建回调 SQ/CQ 和工作线程,完成 AICPU kernel 上下文管理、回调报告处理、完成命令回写与错误传播。 - 在 arch5162 AICPU 任务负载中传递 64 位执行函数地址和任务 Cookie,并按产品 CMake 配置接入运行时功能。 - 新增 AICPU Scheduler UT 及 arch5162 Runtime UT,覆盖插件 API、任务准备、回调与资源回收等路径。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue #933 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 构建 arch5162 Runtime,确认 libruntime_thread_aicpu.so 被编译并安装,且 Runtime 可完成插件动态加载。 2. 执行新增 AICPU Scheduler UT 与 arch5162 Runtime UT,覆盖插件 ABI、AICPU 任务准备、64 位回调函数传递、CQ 回调处理及流销毁资源回收。 当前 PR 已新增上述 UT;本次 PR 描述更新未执行构建、UT 或设备验证。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 该功能仅在 arch5162 产品路径启用;未修改对外 Runtime API。 See merge request: cann/runtime!4695 | 2 天前 | |
refactor: generate arch5162 unsupported ACL entry stubs Co-authored-by: zhangpengpeng8<zhangpengpeng8@hisilicon.com> # message auto-generated for no-merge-commit merge: !946 merge local_dev into master refactor: generate arch5162 unsupported ACL entry stubs Created-by: zhangpengpeng8 Commit-by: zhangpengpeng8 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 为 arch5162 增加 ACL 入口侧自动打桩能力,仅影响 arch5162 独立 libruntime.so: 1. 以 acl_rt_wrapper.h 中 5 组 X-Macro 为唯一签名来源,生成器解析全部 403 个 ACL C++ 包装入口,避免手工复制函数声明和参数。新增 X-Macro 接口对 arch5162 默认不支持。 2. 使用 arch5162_unsupported_acl_api.def 管理 309 个不支持入口;接口能力范围来自 [PR4491](https://gitcode.com/cann/runtime/merge_requests/4491),其中 294 个返回 ACL_ERROR_RT_FEATURE_NOT_SUPPORT、5 个返回空指针、10 个返回零值。aclrtNonBlockingLaunchBegin、aclrtNonBlockingLaunchEnd 已按默认策略纳入强桩。 3. 生成的 aclXxxImpl 强桩编入 arch5162 libruntime.so;同一产品下真实 ACL Impl provider 使用弱符号和独立函数段,强桩覆盖后由 --gc-sections 回收未使用的真实实现。 4. PR4491 的 baseline 明确支持 92 个 ACL API:91 个是 X-Macro 生成入口,aclAppLog 是生成目录外的可变参数手写入口。未取得产品支持结论的新接口不能因为进入 X-Macro 而自动成为 arch5162 真实实现。 5. X-Macro 的 403 个入口拆分为:91 个支持入口、309 个强桩入口,以及 aclmdlInitDump、aclmdlSetDump、aclmdlFinalizeDump 3 个待确认 Dump 入口。91 个支持入口和 3 个待确认入口共保留 94 个弱真实 provider,不能将 94 全部统计为“支持入口”。该机制通过 arch5162 目标属性启用,不改变其他产品的符号属性和构建流程。 6. 生成器只生成产品强桩和 provider 报告。测试侧提交固定的 C++ X-Macro 测试套,直接展开同一份产品清单;每个清单接口同时验证 aclXxxImpl 与公开 aclXxx 的返回策略,不再由 Python 生成测试源码。 7. ACL_API_REAL_PROVIDER_COUNT 固定当前 94 个弱真实 provider。新增 X-Macro 接口若未同步加入不支持清单,生成阶段会直接失败;ACLRT 接口开发 Skill 已加入同一同步要求。 非 ACL_ERROR_RT_FEATURE_NOT_SUPPORT 的 15 个接口如下: - NULLPTR 返回 nullptr:aclCreateDataBuffer、aclGetDataBufferAddr、aclrtAllocatorCreateDesc、aclrtCreateBinary、aclrtCreateGroupInfo。 - ZERO 返回 0:aclDataTypeSize、aclFloat16ToFloat、aclFloatToFloat16、aclGetDataBufferSize、aclGetDataBufferSizeV2、aclrtGetDeviceIdFromExceptionInfo、aclrtGetErrorCodeFromExceptionInfo、aclrtGetStreamIdFromExceptionInfo、aclrtGetTaskIdFromExceptionInfo、aclrtGetThreadIdFromExceptionInfo。 [PR4630](https://gitcode.com/cann/runtime/merge_requests/4630) 给出了 ACL 入口桩边界、能力范围推导、返回策略、弱真实 provider 和验证方法的完整设计分析。 调用路径保持为 libacl_rt.so 公开 ACL 入口调用 libruntime.so 中同名 aclXxxImpl。因此不支持能力在 ACL 路由入口直接结束,不再进入共享的 rtXxx 路径,也不会因为底层 Runtime API 被支持接口复用而误伤支持能力。 本 PR 仅包含实现、构建脚本、测试及 .claude/skills/aclrt-interface-development/SKILL.md 修改;不修改其他 Markdown 文件或产品文档。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 使用 PRODUCT=ascend5162a 配置并构建 runtime、acl_rt、acl_rt_impl 和 runtime_utest_arch5162,全部通过。 2. ACL 桩生成器单测 9/9、既有 Runtime 桩生成器单测 9/9 通过。 3. 固定 ACL 双入口测试 309/309 通过;rebase 最新 master 后,runtime_utest_arch5162 全量 1364/1364 通过。 4. 普通 ascendcl_utest 全量 1191/1191 通过,确认 arch5162 弱实现配置没有泄漏到普通 ACL UT 目标。 5. ELF 校验确认不支持入口 aclrtDeviceL2CacheFlushImpl 为强桩,支持入口 aclrtSetDeviceImpl 保留弱真实实现;ldd -r libacl_rt.so 未发现未解析符号。动态加载 libacl_rt.so 调用 aclrtDeviceL2CacheFlush(nullptr) 返回预期的 207000。 6. 功能引入时与 55c796246 使用相同配置对比:去符号后的 arch5162 libruntime.so 从 5,680,728 字节降至 5,193,304 字节,减少 487,424 字节,约 8.58%。当前版本进一步将两个新增 NonBlocking 入口纳入强桩,不扩大 arch5162 支持范围。 7. 对本次修改文件执行 pre-commit run --files ... 通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 本次变更不修改产品文档;Markdown 变更仅限 .claude/skills/aclrt-interface-development/SKILL.md - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 PR 采用三个可独立验证的提交:第一步引入空清单生成框架;第二步填充 arch5162 清单并启用强桩覆盖;第三步落实新增 ACL 接口默认不支持的生成门禁和 ACLRT 接口开发约束。出现问题时可按提交粒度回退。 已 rebase 至 origin/master@fa7dd7df2ddfd6b75c7ad6168b6f2dc99d1fe492,当前 head 为 22faac59e9a11a5307fdeda3aaa2810ad60739eb。最终 head 的 GitCode [线上 CI](https://gitcode.com/CANN/runtime/actions/runs/9b475d874cd1463aa183fc7001da08cc) 已通过(COMPLETED,无失败任务)。 See merge request: cann/runtime!946 | 4 天前 | |
refactor: 刷新arch5162不支持Runtime接口桩 Co-authored-by: zhangpengpeng8<zhangpengpeng8@hisilicon.com> # message auto-generated for no-merge-commit merge: !4486 merge refactor/arch5162-runtime-api-capability into master refactor: 刷新arch5162不支持Runtime接口桩 Created-by: zhangpengpeng8 Commit-by: zhangpengpeng8 Merged-by: cann-robot Description: # Pull Request ## 描述 依据 arch5162 API 支持性分析,刷新产品 Runtime API 强桩清单及自动化校验: 1. 公共签名目录管理普通 libruntime.so 的 783 个 rt/rts API;arch5162 产品清单包含 654 个强桩,其中 650 个返回 RT_ERROR_FEATURE_NOT_SUPPORT,3 个为成功空操作,1 个为 void 空操作。 2. 从强桩清单移除需要保留真实实现的接口,并新增 rtBinaryLoadWithoutTilingKey、rtModelGetId、rtRegTaskFailCallbackByModule、rtsLaunchUpdateTask 4 个明确不支持接口。 3. rtGetDevice 使用 arch5162 专用实现:参数有效时固定写入设备号 0 并返回成功,空指针返回参数错误。 4. 对存在 ACL 调用路径的非 TDT 不支持能力维护 265 条 ACL-Runtime 映射,生成 UT 同时校验 ACL 和 Runtime 返回值;仅有 Runtime 入口的能力由 Runtime 强桩 UT 覆盖。 5. rtNpuGetFloatDebugStatus、rtNpuClearFloatDebugStatus、rtStarsTaskLaunch、rtStarsTaskLaunchWithFlag 的实现定义未使用 RTS_API 或 VISIBILITY_DEFAULT。本 PR 不改变其可见性,也暂不生成强桩,后续确认导出策略后再处理。 6. aclrtMemsetD32* 的错误透传涉及 ACL 公共实现,暂不在本 PR 扩大修改范围;本 PR 不修改 ACL 通用 memory.cpp 和 docs。 完整 ACL-Runtime 支持关系、跨层矛盾和接口调整依据见 [PR 4491](https://gitcode.com/cann/runtime/pull/4491)。 ## 变更类型 - [ ] Bug 修复 - [ ] 新功能 - [ ] 代码风格更新(格式化,局部变量) - [x] 重构(既不修复错误也不增加功能的代码变动) - [x] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. python3 tests/ut/runtime/runtime/test/cmake/test_generate_runtime_api_stubs.py:9/9 通过。 2. runtime_utest_arch5162 --gtest_brief=1:1038/1038 通过,覆盖 654 个 Runtime 产品强桩、265 条 ACL-Runtime 映射、arch5162 专用 rtGetDevice 返回值及主线新增的 AICPU DFX、Notify 测试。 3. PRODUCT=ascend5162a、ENABLE_UT=ON、Release 配置下,runtime 和 runtime_utest_arch5162 目标编译链接通过。 4. ELF 符号核验:rtGetDevice 为导出强符号;上述 4 个暂缓接口未进入 arch5162 动态符号表。 5. pre-commit 的 clang-format 与 OAT 检查通过。 6. [编译与 UT 流水线](https://www.openlibing.com/apps/pipelineDetail?pipelineId=50ab408233ea4622975e6b0318a0cb06&pipelineRunId=326d9b6d14bd4447b56dcf40dc3d5d72&projectName=CANN):30 个任务完成、2 个忽略、0 个失败。 7. [静态检查流水线](https://www.openlibing.com/apps/pipelineDetail?pipelineId=aeb4b733d2324717a859e5923df342c7&pipelineRunId=a498f79fb2b84db4809f3d039f11dfe5&projectName=CANN):7 个任务完成、1 个未选择、0 个失败。 ## 大小对比 采用相同的 ascend5162a Release 构建配置与本次 rebase 时的 origin/master 提交 6347725d97e7f60dbdded8e5bf3801cbdcd466de 对比:主线 libruntime.so 为 6,077,928 字节,当前 PR 产物为 5,713,352 字节,减少 364,576 字节,约 6.00%。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 本 PR 需要修改文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 - 本次 rebase 基线:6347725d97e7f60dbdded8e5bf3801cbdcd466de。 - 当前提交:2dbfb77d3d391f22d5163e753968bb31bb57f028。 - 支持性分析与接口矩阵:[PR 4491](https://gitcode.com/cann/runtime/pull/4491)。 See merge request: cann/runtime!4486 | 21 天前 | |
[feat]runtime add feature runtime-thread-aicpu for arch5162 Co-authored-by: FengHaozhan<fenghaozhan@huawei.com> # message auto-generated for no-merge-commit merge: !4695 merge arch5162-aicpuV2-0831 into master [feat]runtime add feature runtime-thread-aicpu for arch5162 Created-by: FengHaozhan Commit-by: FengHaozhan Merged-by: cann-robot Description: # Pull Request ## 描述 为 arch5162 引入 RuntimeThread AICPU 插件化执行链路: - 新增 Runtime 与 libruntime_thread_aicpu.so 的插件 ABI,负责动态加载、任务准备/释放及流销毁通知。 - 插件侧创建回调 SQ/CQ 和工作线程,完成 AICPU kernel 上下文管理、回调报告处理、完成命令回写与错误传播。 - 在 arch5162 AICPU 任务负载中传递 64 位执行函数地址和任务 Cookie,并按产品 CMake 配置接入运行时功能。 - 新增 AICPU Scheduler UT 及 arch5162 Runtime UT,覆盖插件 API、任务准备、回调与资源回收等路径。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue #933 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 构建 arch5162 Runtime,确认 libruntime_thread_aicpu.so 被编译并安装,且 Runtime 可完成插件动态加载。 2. 执行新增 AICPU Scheduler UT 与 arch5162 Runtime UT,覆盖插件 ABI、AICPU 任务准备、64 位回调函数传递、CQ 回调处理及流销毁资源回收。 当前 PR 已新增上述 UT;本次 PR 描述更新未执行构建、UT 或设备验证。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 该功能仅在 arch5162 产品路径启用;未修改对外 Runtime API。 See merge request: cann/runtime!4695 | 2 天前 | |
refactor: 刷新arch5162不支持Runtime接口桩 Co-authored-by: zhangpengpeng8<zhangpengpeng8@hisilicon.com> # message auto-generated for no-merge-commit merge: !4486 merge refactor/arch5162-runtime-api-capability into master refactor: 刷新arch5162不支持Runtime接口桩 Created-by: zhangpengpeng8 Commit-by: zhangpengpeng8 Merged-by: cann-robot Description: # Pull Request ## 描述 依据 arch5162 API 支持性分析,刷新产品 Runtime API 强桩清单及自动化校验: 1. 公共签名目录管理普通 libruntime.so 的 783 个 rt/rts API;arch5162 产品清单包含 654 个强桩,其中 650 个返回 RT_ERROR_FEATURE_NOT_SUPPORT,3 个为成功空操作,1 个为 void 空操作。 2. 从强桩清单移除需要保留真实实现的接口,并新增 rtBinaryLoadWithoutTilingKey、rtModelGetId、rtRegTaskFailCallbackByModule、rtsLaunchUpdateTask 4 个明确不支持接口。 3. rtGetDevice 使用 arch5162 专用实现:参数有效时固定写入设备号 0 并返回成功,空指针返回参数错误。 4. 对存在 ACL 调用路径的非 TDT 不支持能力维护 265 条 ACL-Runtime 映射,生成 UT 同时校验 ACL 和 Runtime 返回值;仅有 Runtime 入口的能力由 Runtime 强桩 UT 覆盖。 5. rtNpuGetFloatDebugStatus、rtNpuClearFloatDebugStatus、rtStarsTaskLaunch、rtStarsTaskLaunchWithFlag 的实现定义未使用 RTS_API 或 VISIBILITY_DEFAULT。本 PR 不改变其可见性,也暂不生成强桩,后续确认导出策略后再处理。 6. aclrtMemsetD32* 的错误透传涉及 ACL 公共实现,暂不在本 PR 扩大修改范围;本 PR 不修改 ACL 通用 memory.cpp 和 docs。 完整 ACL-Runtime 支持关系、跨层矛盾和接口调整依据见 [PR 4491](https://gitcode.com/cann/runtime/pull/4491)。 ## 变更类型 - [ ] Bug 修复 - [ ] 新功能 - [ ] 代码风格更新(格式化,局部变量) - [x] 重构(既不修复错误也不增加功能的代码变动) - [x] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. python3 tests/ut/runtime/runtime/test/cmake/test_generate_runtime_api_stubs.py:9/9 通过。 2. runtime_utest_arch5162 --gtest_brief=1:1038/1038 通过,覆盖 654 个 Runtime 产品强桩、265 条 ACL-Runtime 映射、arch5162 专用 rtGetDevice 返回值及主线新增的 AICPU DFX、Notify 测试。 3. PRODUCT=ascend5162a、ENABLE_UT=ON、Release 配置下,runtime 和 runtime_utest_arch5162 目标编译链接通过。 4. ELF 符号核验:rtGetDevice 为导出强符号;上述 4 个暂缓接口未进入 arch5162 动态符号表。 5. pre-commit 的 clang-format 与 OAT 检查通过。 6. [编译与 UT 流水线](https://www.openlibing.com/apps/pipelineDetail?pipelineId=50ab408233ea4622975e6b0318a0cb06&pipelineRunId=326d9b6d14bd4447b56dcf40dc3d5d72&projectName=CANN):30 个任务完成、2 个忽略、0 个失败。 7. [静态检查流水线](https://www.openlibing.com/apps/pipelineDetail?pipelineId=aeb4b733d2324717a859e5923df342c7&pipelineRunId=a498f79fb2b84db4809f3d039f11dfe5&projectName=CANN):7 个任务完成、1 个未选择、0 个失败。 ## 大小对比 采用相同的 ascend5162a Release 构建配置与本次 rebase 时的 origin/master 提交 6347725d97e7f60dbdded8e5bf3801cbdcd466de 对比:主线 libruntime.so 为 6,077,928 字节,当前 PR 产物为 5,713,352 字节,减少 364,576 字节,约 6.00%。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 本 PR 需要修改文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 - 本次 rebase 基线:6347725d97e7f60dbdded8e5bf3801cbdcd466de。 - 当前提交:2dbfb77d3d391f22d5163e753968bb31bb57f028。 - 支持性分析与接口矩阵:[PR 4491](https://gitcode.com/cann/runtime/pull/4491)。 See merge request: cann/runtime!4486 | 21 天前 | |
【PR】: runtime support launch blocking Co-authored-by: nevermore_t<tianjingxuan2@huawei.com> Co-authored-by: x00508183<xiachanglin@huawei.com> Co-authored-by: jiaxingru<jiaxingru1@huawei.com> # message auto-generated for no-merge-commit merge: !4247 merge feature/launch-blocking into master 【PR】: runtime support launch blocking Created-by: xiachanglin Commit-by: x00508183;jiaxingru;nevermore_t Merged-by: cann-robot Description: # Pull Request ## 描述 本需求提供一种面向调试场景的 blocking launch 能力,使用户在启动程序前设置环境变量后,Runtime 将纳入范围的 kernel/model launch 从“下发后立即返回”改为“下发后等待执行完成再返回”。这样执行错误在当前 launch API 返回,帮助用户定位问题算子。 新增环境变量: ASCEND_RT_LAUNCH_BLOCKING,默认不打开该环境变量时,Runtime 保持原有异步 launch 行为。当 ASCEND_RT_LAUNCH_BLOCKING=1 Runtime 对纳入范围的 kernel/model launch 执行做如下增强: 1. 先按原有流程完成任务下发。 2. 如果任务下发失败,直接返回原 launch 错误,不额外同步。 3. 如果任务下发成功,根据 stream 状态、no-blocking 逃生状态和环境变量判断是否需要同步。 4. 需要同步时,等待该 stream 当前已下发任务执行完成,再从当前 launch API 返回。 该功能的目标是调试定位。 涉及API: aclrtLaunchKernel、aclrtLaunchKernelWithConfig、aclrtLaunchKernelV2 aclrtLaunchKernelWithHostArgs、aclrtLaunchKernelWithArgsArray 、aclrtLaunchSIMTKernelWithArgsArray、aclrtLaunchSIMTKernelWithHostArgs aclmdlRIExecuteAsync ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> https://gitcode.com/cann/runtime/issues/921 ## 如何测试 描述测试此变更的步骤和前提条件: 1. UT 2. ST 3. rdv ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4247 | 11 天前 | |
[feat]runtime add feature runtime-thread-aicpu for arch5162 Co-authored-by: FengHaozhan<fenghaozhan@huawei.com> # message auto-generated for no-merge-commit merge: !4695 merge arch5162-aicpuV2-0831 into master [feat]runtime add feature runtime-thread-aicpu for arch5162 Created-by: FengHaozhan Commit-by: FengHaozhan Merged-by: cann-robot Description: # Pull Request ## 描述 为 arch5162 引入 RuntimeThread AICPU 插件化执行链路: - 新增 Runtime 与 libruntime_thread_aicpu.so 的插件 ABI,负责动态加载、任务准备/释放及流销毁通知。 - 插件侧创建回调 SQ/CQ 和工作线程,完成 AICPU kernel 上下文管理、回调报告处理、完成命令回写与错误传播。 - 在 arch5162 AICPU 任务负载中传递 64 位执行函数地址和任务 Cookie,并按产品 CMake 配置接入运行时功能。 - 新增 AICPU Scheduler UT 及 arch5162 Runtime UT,覆盖插件 API、任务准备、回调与资源回收等路径。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue #933 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 构建 arch5162 Runtime,确认 libruntime_thread_aicpu.so 被编译并安装,且 Runtime 可完成插件动态加载。 2. 执行新增 AICPU Scheduler UT 与 arch5162 Runtime UT,覆盖插件 ABI、AICPU 任务准备、64 位回调函数传递、CQ 回调处理及流销毁资源回收。 当前 PR 已新增上述 UT;本次 PR 描述更新未执行构建、UT 或设备验证。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 该功能仅在 arch5162 产品路径启用;未修改对外 Runtime API。 See merge request: cann/runtime!4695 | 2 天前 | |
refactor: 迁移 tiny Runtime API 桩并精简 CMake Co-authored-by: maxiaofan2<maxiaofan2025@163.com> # message auto-generated for no-merge-commit merge: !4636 merge codex/reproduce-pr-4466 into master refactor: 迁移 tiny Runtime API 桩并精简 CMake Created-by: maxiaofan2 Commit-by: maxiaofan2 Merged-by: cann-robot Description: # Pull Request ## 描述 迁移 tiny Runtime C API 桩到统一 Runtime API catalog/生成器,并精简 tiny.cmake: 1. 新增 tiny_unsupported_runtime_api.def,统一声明 tiny 不支持的 161 个 Runtime API并生成强符号 stub。 2. Linux libruntime.so 使用弱真实 provider 与强 stub 覆盖;静态库和 Windows 保持互斥强符号源。 3. 删除无 CMake 引用的 api_c_stub.cc、api_c_mbuf_stub.cc。 4. 删除 tiny CMake 中冗余产品判断、无效 atrace 条件和无用途 exclude 列表。 5. tiny UT 复用同一产品能力清单。 6. 适配当前 master:纳入新增 Esched provider,复用已存在的 rtHostGetDevicePointerAddrRange catalog 项,并同步 catalog 完整性断言。 ## 变更类型 - [ ] Bug 修复 - [ ] 新功能 - [ ] 代码风格更新(格式化,局部变量) - [x] 重构(既不修复错误也不增加功能的代码变动) - [x] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. python3 生成器单元测试:9/9 通过。 2. PRODUCT=ascend031 Release + UT 配置成功。 3. runtime、static_runtime、runtime_utest_tiny_stub、api_tiny_stest 构建通过。 4. runtime_utest_tiny_stub:63/63 通过。 5. api_tiny_stest:2/2 用例通过;测试进程在 gtest 完成后的全局析构阶段触发既有 Bus error(退出码 135)。该二进制不链接 libruntime,与本 PR Runtime 链接产物无依赖。 6. provider/binding/visibility/静态定义审计:187/187 通过,其中 161 个 strong stub、26 个 weak real、179 个导出、8 个隐藏。 7. ldd -r libruntime.so:通过,无未解析符号。 8. OAT incremental check:通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关说明 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 目标基线:cann/runtime:master 提交 f306e9991。 提交:571fa04d1。 回退该提交即可恢复原 tiny 手写 stub 与源选择。 See merge request: cann/runtime!4636 | 16 天前 | |
【feat】:pkg_inc/runtime/runtime 下接口 deprecated Co-authored-by: liukejin<liukejin@huawei.com> # message auto-generated for no-merge-commit merge: !2901 merge remove_runtime into master 【feat】:pkg_inc/runtime/runtime 下接口 deprecated Created-by: liukejin Commit-by: liukejin Merged-by: cann-robot Description: # Pull Request ## 描述 <!-- 请清晰准确地描述本次 Pull Request 的意图和变更内容。--> pkg_inc/runtime/runtime 下接口 添加deprecated标签 影响范围: 编译&多仓联合编译 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 该改动只影响编译,蓝区编译 ok 2. 多仓联合编译、构建 ok ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!2901 | 2 个月前 | |
[feat]runtime add feature runtime-thread-aicpu for arch5162 Co-authored-by: FengHaozhan<fenghaozhan@huawei.com> # message auto-generated for no-merge-commit merge: !4695 merge arch5162-aicpuV2-0831 into master [feat]runtime add feature runtime-thread-aicpu for arch5162 Created-by: FengHaozhan Commit-by: FengHaozhan Merged-by: cann-robot Description: # Pull Request ## 描述 为 arch5162 引入 RuntimeThread AICPU 插件化执行链路: - 新增 Runtime 与 libruntime_thread_aicpu.so 的插件 ABI,负责动态加载、任务准备/释放及流销毁通知。 - 插件侧创建回调 SQ/CQ 和工作线程,完成 AICPU kernel 上下文管理、回调报告处理、完成命令回写与错误传播。 - 在 arch5162 AICPU 任务负载中传递 64 位执行函数地址和任务 Cookie,并按产品 CMake 配置接入运行时功能。 - 新增 AICPU Scheduler UT 及 arch5162 Runtime UT,覆盖插件 API、任务准备、回调与资源回收等路径。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue #933 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 构建 arch5162 Runtime,确认 libruntime_thread_aicpu.so 被编译并安装,且 Runtime 可完成插件动态加载。 2. 执行新增 AICPU Scheduler UT 与 arch5162 Runtime UT,覆盖插件 ABI、AICPU 任务准备、64 位回调函数传递、CQ 回调处理及流销毁资源回收。 当前 PR 已新增上述 UT;本次 PR 描述更新未执行构建、UT 或设备验证。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 该功能仅在 arch5162 产品路径启用;未修改对外 Runtime API。 See merge request: cann/runtime!4695 | 2 天前 | |
【PR】: runtime support launch blocking Co-authored-by: nevermore_t<tianjingxuan2@huawei.com> Co-authored-by: x00508183<xiachanglin@huawei.com> Co-authored-by: jiaxingru<jiaxingru1@huawei.com> # message auto-generated for no-merge-commit merge: !4247 merge feature/launch-blocking into master 【PR】: runtime support launch blocking Created-by: xiachanglin Commit-by: x00508183;jiaxingru;nevermore_t Merged-by: cann-robot Description: # Pull Request ## 描述 本需求提供一种面向调试场景的 blocking launch 能力,使用户在启动程序前设置环境变量后,Runtime 将纳入范围的 kernel/model launch 从“下发后立即返回”改为“下发后等待执行完成再返回”。这样执行错误在当前 launch API 返回,帮助用户定位问题算子。 新增环境变量: ASCEND_RT_LAUNCH_BLOCKING,默认不打开该环境变量时,Runtime 保持原有异步 launch 行为。当 ASCEND_RT_LAUNCH_BLOCKING=1 Runtime 对纳入范围的 kernel/model launch 执行做如下增强: 1. 先按原有流程完成任务下发。 2. 如果任务下发失败,直接返回原 launch 错误,不额外同步。 3. 如果任务下发成功,根据 stream 状态、no-blocking 逃生状态和环境变量判断是否需要同步。 4. 需要同步时,等待该 stream 当前已下发任务执行完成,再从当前 launch API 返回。 该功能的目标是调试定位。 涉及API: aclrtLaunchKernel、aclrtLaunchKernelWithConfig、aclrtLaunchKernelV2 aclrtLaunchKernelWithHostArgs、aclrtLaunchKernelWithArgsArray 、aclrtLaunchSIMTKernelWithArgsArray、aclrtLaunchSIMTKernelWithHostArgs aclmdlRIExecuteAsync ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> https://gitcode.com/cann/runtime/issues/921 ## 如何测试 描述测试此变更的步骤和前提条件: 1. UT 2. ST 3. rdv ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4247 | 11 天前 | |
[feat]runtime add feature runtime-thread-aicpu for arch5162 Co-authored-by: FengHaozhan<fenghaozhan@huawei.com> # message auto-generated for no-merge-commit merge: !4695 merge arch5162-aicpuV2-0831 into master [feat]runtime add feature runtime-thread-aicpu for arch5162 Created-by: FengHaozhan Commit-by: FengHaozhan Merged-by: cann-robot Description: # Pull Request ## 描述 为 arch5162 引入 RuntimeThread AICPU 插件化执行链路: - 新增 Runtime 与 libruntime_thread_aicpu.so 的插件 ABI,负责动态加载、任务准备/释放及流销毁通知。 - 插件侧创建回调 SQ/CQ 和工作线程,完成 AICPU kernel 上下文管理、回调报告处理、完成命令回写与错误传播。 - 在 arch5162 AICPU 任务负载中传递 64 位执行函数地址和任务 Cookie,并按产品 CMake 配置接入运行时功能。 - 新增 AICPU Scheduler UT 及 arch5162 Runtime UT,覆盖插件 API、任务准备、回调与资源回收等路径。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue #933 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 构建 arch5162 Runtime,确认 libruntime_thread_aicpu.so 被编译并安装,且 Runtime 可完成插件动态加载。 2. 执行新增 AICPU Scheduler UT 与 arch5162 Runtime UT,覆盖插件 ABI、AICPU 任务准备、64 位回调函数传递、CQ 回调处理及流销毁资源回收。 当前 PR 已新增上述 UT;本次 PR 描述更新未执行构建、UT 或设备验证。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 该功能仅在 arch5162 产品路径启用;未修改对外 Runtime API。 See merge request: cann/runtime!4695 | 2 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 天前 | ||
| 2 天前 | ||
| 4 天前 | ||
| 21 天前 | ||
| 2 天前 | ||
| 21 天前 | ||
| 11 天前 | ||
| 2 天前 | ||
| 16 天前 | ||
| 2 个月前 | ||
| 2 天前 | ||
| 11 天前 | ||
| 2 天前 |