| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs: 修正Runtime代码注释中的英文拼写错误 Co-authored-by: Eternal-z<jialuze@huawei.com> # message auto-generated for no-merge-commit merge: !4333 merge docs/fix-comment-typos-20260819 into master docs: 修正Runtime代码注释中的英文拼写错误 Created-by: Eternal-z Commit-by: Eternal-z Merged-by: cann-robot Description: # Pull Request ## 描述 修正 Runtime 代码独立注释中 11 处可以明确确认的英文拼写错误,共涉及 5 个文件: - argment → argument - submitd → submitted、submiting → submitting、submited → submitted - callef → called(2 处) - trgierd → triggered、Triger → Trigger、un-trigerd → un-triggered、dependend → dependent - memroy → memory 本次只修改独立注释文本,不修改接口、函数或类标识符、日志字符串及运行逻辑;例如现有 Notifier::Triger() 标识符保持不变。已检索当前 open PR 的标题、描述和相关文件清单,未发现上述错误词的重复修复。设计文档图片中的可提取文字也已检查,未发现能够可靠确认的错误,因此未修改图片。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 对新增注释行执行 codespell 检查,未发现新的拼写问题;目标错误词复查无残留。 2. 执行 git -c core.whitespace=cr-at-eol diff --check,检查通过。 3. 人工逐行检查 diff,确认 11 个新增行均为注释,不包含可执行代码或日志字符串。 4. 推送分支时 Git Hooks 检查通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次为纯注释拼写修正,不影响编译结果、覆盖率和运行行为,无需新增单元测试。 See merge request: cann/runtime!4333 | 2 个月前 | |
【PR】: fix codecheck Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !4060 merge master into master 【PR】: fix codecheck Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 fix codecheck ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 编译通过 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4060 | 2 个月前 | |
【PR】: 整改不规范error message Co-authored-by: DanielTANG<tangyuliang5@huawei.com> # message auto-generated for no-merge-commit merge: !5590 merge fix_errmsg into master 【PR】: 整改不规范error message Created-by: Tacode Commit-by: DanielTANG Merged-by: cann-robot Description: # Pull Request ## 描述 修改aclrtBinaryLoad接口不规范errormessage ## 变更类型 请选择本次引入的变更类型: <!-- [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/runtime!5590 | 8 天前 | |
【PR】: async memcpy for cond value init Co-authored-by: dragon_q<qianglong@huawei.com> # message auto-generated for no-merge-commit merge: !5406 merge master_1008 into master 【PR】: async memcpy for cond value init Created-by: dragon_q Commit-by: dragon_q 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/runtime!5406 | 16 天前 | |
【PR】: dqs inter chip dot Co-authored-by: gliangliang<guoliangliang16@huawei.com> # message auto-generated for no-merge-commit merge: !5421 merge master into master 【PR】: dqs inter chip dot Created-by: gliangliang Commit-by: gliangliang Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 新增dqs跨片打点,记录c-core执行前后维测,用于兜底释放 ## 变更类型 请选择本次引入的变更类型: <!-- [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/runtime!5421 | 2 天前 | |
【refactor】: 删除了ContextManage中的冗余函数MarkContextForDelete、QueryContextInUse,并删除QueryContextInUse中的QueryContextInUse调用 Co-authored-by: Phaozhuo<pihaozhuo@huawei.com> # message auto-generated for no-merge-commit merge: !5310 merge master into master 【refactor】: 删除了ContextManage中的冗余函数MarkContextForDelete、QueryContextInUse,并删除QueryContextInUse中的QueryContextInUse调用 Created-by: Phaozhuo Commit-by: Phaozhuo Merged-by: cann-robot Description: # Pull Request ## 描述 删除了ContextManage中的冗余函数MarkContextForDelete、QueryContextInUse,并删除QueryContextInUse中的QueryContextInUse调用; ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 本次修改通过 RDV 测试 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5310 | 28 天前 | |
【PR】: fix:chip type to int Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !5850 merge master_99 into master 【PR】: fix:chip type to int Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 把日志中打印的chip type转化成int32打印 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 输出打印日志chip type直接会打印字符串 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5850 | 1 天前 | |
fix: 修复注册 printf 解析回调触发 Runtime 初始化问题 Co-authored-by: liguochao1<liguochao1@huawei.com> # message auto-generated for no-merge-commit merge: !5245 merge printf_common_fix into master fix: 修复注册 printf 解析回调触发 Runtime 初始化问题 Created-by: liguochao1 Commit-by: liguochao1 Merged-by: cann-robot Description: # Pull Request ## 描述 ### 问题背景 dump.so 初始化时会调用 rtRegisterParseDfxInfoFunc 注册 printf 解析回调。历史实现通过 Api::Instance() 进入 Runtime API 链路,会在仅注册回调时提前触发 Runtime 初始化;在 CModel 场景中,初始化进入 RegAtraceInfoInit 后可能产生 core dump。同时,PrintfV2 解析热路径中的 INFO 日志会带来额外性能开销。 ### 修改内容 1. 将解析回调存储下沉到 runtime_common,使用原子变量提供 SetParseDfxInfoFunc 和 GetParseDfxInfoFunc。 2. rtRegisterParseDfxInfoFunc 直接设置回调,不再调用 Api::Instance(),并保留 ERROR_RETURN_WITH_EXT_ERRCODE 外部错误码转换。 3. printf、SIMT printf、AICPU printf 等消费路径统一通过 GetParseDfxInfoFunc 获取回调。 4. 调整 Runtime 各构建形态的源文件归属,保证真实环境和 CModel 使用一致的回调实现;不支持的 tiny/arch5162 构建继续使用 stub。 5. 将 PrintfV2/SIMT PrintfV2 热路径中的 5 处常规 INFO 日志调整为 DEBUG,降低高频打印开销。 6. 补充普通平台和 910B 平台 UT,覆盖注册时不调用 Api::Instance()、重复注册、空回调清理以及并发 Set/Get。 本 PR 不包含 src/dfx/adump 或 dump 侧代码修改。 ## 变更类型 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 针对本次变更文件执行 clang-format pre-commit 检查,检查通过。 2. 已补充 Runtime UT 用例;本地工作区路径包含空格,tests/build_ut.sh 未正确引用路径,创建构建目录时失败,因此本地未完成 UT 编译和执行。 3. 分支 push hook 已执行通过。OAT hook 显示 Passed,但内部扫描器返回 code 2 并跳过扫描,该结果不作为有效扫描结论。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档(本次为内部实现调整,无对外接口或文档变更) - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 最终提交:f0882ddd55c93dd168a581d22672143553717867 See merge request: cann/runtime!5245 | 29 天前 | |
【PR】: fix error log magic number Co-authored-by: duanpengliang<duanpengliang@huawei.com> Co-authored-by: zhangpengpeng8<zhangpengpeng8@hisilicon.com> # message auto-generated for no-merge-commit merge: !4417 merge master_mv_pkginc_to_include into master 【PR】: fix error log magic number Created-by: duanpengliang Commit-by: duanpengliang;zhangpengpeng8 Merged-by: cann-robot Description: # Pull Request ## 描述 整改 Runtime/ACL ERROR 日志枚举魔鬼数字,统一输出“枚举字符串(数字)”;非法值使用 UNKNOWN(数字),连续范围边界保留数字。精简枚举转换实现以控制 tiny 包体积,并补充相关 UT 覆盖及 pre-commit 校验。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: ut源码编译通过,error日志无枚举对应的魔鬼数字 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4417 | 1 个月前 | |
【PR】: feat: 槽位密钥改用驱动槽位常量并同步 driver 头文件 Co-authored-by: zhut66<zhutao63@huawei.com> # message auto-generated for no-merge-commit merge: !5851 merge cc_manager_1023 into master 【PR】: feat: 槽位密钥改用驱动槽位常量并同步 driver 头文件 Created-by: zhut66 Commit-by: zhut66 Merged-by: cann-robot Description: # Pull Request ## 描述 槽位密钥改用驱动槽位常量并同步 driver 头文件 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.机密虚机基础用例 2.RDV ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5851 | 2 天前 | |
【PR】: Stars task submit流程重构 Co-authored-by: SongAnyin<songanyin@huawei.com> # message auto-generated for no-merge-commit merge: !4871 merge commit-9-11 into master 【PR】: Stars task submit流程重构 Created-by: SongAnyin Commit-by: SongAnyin Merged-by: cann-robot Description: # Pull Request ## 描述 为了提升项目代码架构一致性, 本次拟对910B及更早型号设备的task submit流程进行重构, 用基于设备架构分流来替代现在按行为分流, 让不同架构设备的行为更集中更清晰。 950的task submit流程本身独立且和910B的差异较大,不包含在本地重构中。 ### 重构流程改动 - 重构前  - 重构后  #### 修改规模 |类别|文件数|新增|删除|净变化| |:-:|:-:|:-:|:-:|:-:| |业务代码( src/)|7|201|403|减少 202 行| |UT 代码(tests/ut/)|12|651|102|增加 549 行| ### 流程变更点一览表(变更点性等价分析详情见V100-Stars提交主流程归一等价性说明.md) | 编号 | 场景 | 归一后的行为 | 影响是否对外可见 | 接受理由 | |---|---|---|---|---| | H-01 | Normal 硬件发送失败,随后确认设备异常<br>drvRet != DRV_ERROR_NONE,且 PrintStmDfxAndCheckDevice(...) != RT_ERROR_NONE | 向原 Stars TaskRes 对齐,设备异常出口由返回具体驱动映射码改为 return RT_ERROR_DRV_ERR;,与 David 既有出口一致;原始驱动码保留在日志中 | **是,错误码收窄**:原有具体错误统一返回 ACL_ERROR_RT_DRV_INTERNAL_ERROR | 采用 TaskRes、David 已有的统一失败规则;保留设备状态查询、错误描述和原始 Driver 日志用于诊断,接受该出口错误码粒度收敛 | | H-02 | TaskRes 单个任务需要的 SQE 超出上限<br>sendSqeNum > SQE_NUM_PER_STARS_TASK_MAX | 校验顺序向原 Normal 对齐,先检查,再写 *flipTaskId、调用 ReportProfData(...);保留 TaskRes 的 RT_ERROR_INVALID_VALUE 返回,失败时不生成这些成功提交信息 | 否,仍为 ACL_ERROR_RT_PARAM_INVALID;失败后的附带信息不作为有效结果 | 将任务校验放在结果记录之前,减少失败任务的无效记录 | | H-03 | 设置用户自定义流标签 ACL_STREAM_ATTR_USER_CUSTOM_TAG(溢出检测分组标签)<br>任务初始化设置 isNeedStreamSync = true | 向原 TaskRes 对齐,Normal 也执行 if (isNeedStreamSync) SyncTask(...);;控制通道原有外层 WaitComplete() 保留 | 否,支持产品的 ACL 预期返回不变;成功返回仍以标签设置完成为条件 | 统一同步规则,避免为该控制任务保留独立的 Normal 分支 | | H-04 | TaskRes 因任务积压进入等待回收循环<br>GetLimitFlag() && !GetRecycleFlag() | 向原 Normal 对齐,改为 if (tryCount % 1000U == 0U) CheckContextTaskSend(...);,即首轮及之后每 1000 轮检查;限流与回收规则无额外调整 | 否,同一异常的 ACL 返回码不变;差异仅为检查频率 | 减少等待循环内的重复检查开销 | | H-05 | 任务提交及提交失败时维护待完成数、发送调试通知<br>旧 Normal 使用 TaskSubmited() / TaskFinished() | 向原 TaskRes 的直接计数、无 launched 调试通知方式对齐;公共路径执行 pendingNum_.Add(1U),失败时 Sub(1U),不再调用 ProcessObserver(...) 或模拟完成通知 | 否,接口返回不变,属于内部实现和诊断变化 | 集中维护待完成任务数,减少调试通知对提交路径的开销 | | H-06 | Normal 发送前发现 Stream 已处于异常状态<br>例如 abortStatus_ == RT_ERROR_DEVICE_MEM_ERROR | 向原 TaskRes 对齐,执行 if (status != RT_ERROR_NONE) return status;,统一拒绝所有异常状态;旧 Normal 的判断及前后返回码见下表 | **是**, 旧版漏检后继续提交,结果不确定;新版直接返回故障。常规中止的 ACL 返回码不变 | 修正旧 Normal 仅判断两种中止码、漏检其他异常的写法,避免异常 Stream 继续尝试提交 | | H-07 | 非控制 Stream 的 ID 无效<br>id == -1 或 id == MAX_INT32_NUM | 沿用两分支共同的 return RT_ERROR_STREAM_INVALID; 校验语义,无单方对齐;校验前移到公共入口,取消旧失败路径的附带标志和告警 | 否,ACL 返回错误不变 | 公共入口统一拒绝无效 Stream,减少重复校验 | H-01 的错误映射已核实:旧 RT_ERROR_DRV_NO_DEVICE、RT_ERROR_LOST_HEARTBEAT 分别映射为 ACL_ERROR_RT_NO_DEVICE(207004)、ACL_ERROR_RT_LOST_HEARTBEAT(507010);新 RT_ERROR_DRV_ERR 映射为 ACL_ERROR_RT_DRV_INTERNAL_ERROR(507899)。这是 ACL 可见的错误码变化,仅限发送失败并确认设备异常的出口;本轮核查未在设备上复现这些故障。 H-06 的判断及返回码如下,后两项是其他异常的示例,并非完整枚举: | Stream 异常状态 status | 归一前 Normal 的判断与返回 | 归一后返回(沿用原 TaskRes) | |---|---|---| | RT_ERROR_STREAM_ABORT | 命中判断,返回 RT_ERROR_STREAM_ABORT_SEND_TASK_FAIL | RT_ERROR_STREAM_ABORT | | RT_ERROR_DEVICE_TASK_ABORT | 命中判断,返回 RT_ERROR_DEVICE_ABORT_SEND_TASK_FAIL | RT_ERROR_DEVICE_TASK_ABORT | | RT_ERROR_DEVICE_MEM_ERROR | 未判断,继续尝试提交,没有确定的错误返回 | RT_ERROR_DEVICE_MEM_ERROR | | RT_ERROR_MEM_RAS_ERROR | 未判断,继续尝试提交,没有确定的错误返回 | RT_ERROR_MEM_RAS_ERROR | 旧 Normal 的问题是仅判断前两种中止码,而不是判断“Stream 是否存在任何异常”。若其他故障在入口检查通过后、发送前发生,就会漏检并继续提交,成功、失败及错误码取决于后续处理。归一后所有非 RT_ERROR_NONE 状态均直接返回。前两项在 ACL 层分别仍是 ACL_ERROR_RT_STREAM_ABORT、ACL_ERROR_RT_DEVICE_TASK_ABORT;后两项明确返回 ACL_ERROR_RT_DEVICE_MEM_ERROR、ACL_ERROR_RT_HBM_MULTI_BIT_ECC_ERROR。 ##### 原缺陷修复 | 编号 | 场景 | 改动原因 | 归一后的预期 | 为什么之前未发现 | |---|---|---|---|---| | F-01 | Normal 模式 SQE 超限 | 可能返回成功并继续后续动作 | 返回 RT_ERROR_INVALID_VALUE,不再按提交成功进入后续处理 | SQE 数由 Runtime 内部生成,不是用户可设置的参数;正常构造应满足上限,问题隐藏在内部超限后的错误处理分支,常规成功路径测试难以覆盖 | | F-02 | TaskRes 绑定资源已满 | 待完成任务数可能被重复扣减 | 只扣减一次,状态与实际任务一致 | 需 TaskRes 绑定流命中特定队列满出口,部分资源不足会被前置检查拦截;旧版仍返回预期的“流满”错误,已核查的基线相关用例只验证错误返回,未检查完整失败流程的计数回退 | #### 详细等价性分析说明 <a href="https://gitcode.com/user-attachments/files/8810053/aec349cd6f354f429a05db54cff28b31.md" target="_blank">V100-Stars提交主流程归一等价性说明.md</a> ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4871 | 30 天前 | |
【PR】: 简要描述 告警修改 Co-authored-by: wangluyao17<wangluyao17@huawei.com> # message auto-generated for no-merge-commit merge: !5730 merge master into master 【PR】: 简要描述 告警修改 Created-by: wangluyao17 Commit-by: wangluyao17 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/runtime!5730 | 7 天前 | |
fix: clear stale symbols before program destruction Co-authored-by: jiaxingru<jiaxingru1@huawei.com> # message auto-generated for no-merge-commit merge: !5648 merge fix/symbol-table-program-lifetime into master fix: clear stale symbols before program destruction Created-by: m0_60337577 Commit-by: jiaxingru Merged-by: cann-robot Description: --- title: "【PR】: 清理 Program 释放后的符号表项" labels: ["bug"] assignees: 'm0_60337577' --- # Pull Request ## 描述 Program 最终释放或二进制卸载后,清理 SymbolTable 中引用该 Program 的符号条目,避免后续符号查询使用已释放的 Program 指针。符号地址查询使用读锁覆盖 Program 访问范围,Program 删除前使用写锁摘除条目,避免并发查询与删除竞争。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. cmake --build /tmp/runtime-symbol-build --target runtime_utest -j4 2. /tmp/runtime-symbol-build/tests/ut/runtime/runtime/runtime_utest --gtest_filter='SymbolTest.*',6/6 通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 新增 UT 覆盖 Program 释放后的符号查询失败,以及同一 host variable 可重新注册到新 Program。 See merge request: cann/runtime!5648 | 6 天前 | |
【PR】:precommit src/runtime Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !3723 merge master_clang into master 【PR】:precommit src/runtime Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3723 | 3 个月前 | |
【PR】: 简要描述 只有externalevent 存在的场景下打开cqe Co-authored-by: wangluyao17<wangluyao17@huawei.com> # message auto-generated for no-merge-commit merge: !5822 merge master into master 【PR】: 简要描述 只有externalevent 存在的场景下打开cqe Created-by: wangluyao17 Commit-by: wangluyao17 Merged-by: cann-robot Description: # Pull Request ## 描述 只有externalevent 存在的场景下打开cqe。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5822 | 2 天前 | |
【PR】: 简要描述 将EndgraphNotifyWait 从Notifywait中拆分出来 Co-authored-by: wangluyao17<wangluyao17@huawei.com> # message auto-generated for no-merge-commit merge: !4712 merge endgraphNotify into master 【PR】: 简要描述 将EndgraphNotifyWait 从Notifywait中拆分出来 Created-by: wangluyao17 Commit-by: wangluyao17 Merged-by: cann-robot Description: ## 描述 将EndgraphNotifyWait 从Notifywait中拆分出来 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4712 | 1 个月前 | |
【PR】:precommit src/runtime Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !3723 merge master_clang into master 【PR】:precommit src/runtime Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3723 | 3 个月前 | |
【PR】: change kirindev0000 to kirin9050 Co-authored-by: wangrulong<wanglong229@h-partners.com> Co-authored-by: Zhezhezhezhe0414<zhangzhe180@h-partners.com> # message auto-generated for no-merge-commit merge: !5601 merge master into master 【PR】: change kirindev0000 to kirin9050 Created-by: wangrulong Commit-by: wangrulong;Zhezhezhezhe0414 Merged-by: cann-robot Description: # Pull Request ## 描述 版本对外体现变更:kirindev0000-->kirin9050 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 结合asc-devkit仓修改,回归kirin 516工厂用例,turing yellow llt,二级冒烟等 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5601 | 2 天前 | |
feat: add aclrtDeviceGetPCIBusId and aclrtDeviceGetByPCIBusId interfaces Co-authored-by: good_luck_to_me<qiaoruimin@huawei.com> # message auto-generated for no-merge-commit merge: !4066 merge feat/pci-bus-id-clean-v2 into master feat: add aclrtDeviceGetPCIBusId and aclrtDeviceGetByPCIBusId interfaces Created-by: good_luck_to_me Commit-by: good_luck_to_me Merged-by: cann-robot Description: # Pull Request ## 描述 新增 PCI Bus ID 双向查询接口: - aclrtDeviceGetPCIBusId:根据 Device ID 获取 PCI Bus ID(BDF)字符串 - aclrtDeviceGetByPCIBusId:根据 PCI Bus ID(BDF)字符串反查 Device ID BDF 字符串格式为 domain:bus:device.function(如 0000:3d:00.0),与 lspci -D 输出一致。 ## 变更类型 - [x] ✨ 新功能 ## 关联的Issue 替代 PR !3800(分支历史过乱,重建干净分支) ## 如何测试 1. 调用 aclrtGetDeviceCount 获取设备数量 2. 对每个 devId 调用 aclrtDeviceGetPCIBusId 获取 BDF 3. 用 lspci -D -d 19e5: 交叉验证 BDF 集合一致 4. 用 aclrtDeviceGetByPCIBusId 反查,验证正反互逆 5. UT:ApiDeviceTest(12) + CloudV2ApiDeviceTest(13) + ACL UT(7) ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经详细阅读了贡献指南 See merge request: cann/runtime!4066 | 2 个月前 | |
【PR】: 简要描述 external event增强 Co-authored-by: wangluyao17<wangluyao17@huawei.com> # message auto-generated for no-merge-commit merge: !4829 merge 0910 into master 【PR】: 简要描述 external event增强 Created-by: wangluyao17 Commit-by: wangluyao17 Merged-by: cann-robot Description: # Pull Request ## 描述 external record 支持时间戳 :extreanl record 完成后,可通过既有rtEventElapsedTime接口获取两个计时 Event 间耗时。 external record 动态替换 Event: 支持通过rtModelTaskSetParams修改externalEventRecord task的参数,支持模型执行的时候,set,update参数对下一次执行生效。 ## 变更类型 请选择本次引入的变更类型: <!-- [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/runtime!4829 | 9 天前 | |
[feat] Arch5162 support datadump and AICPU op timeout Co-authored-by: FengHaozhan<fenghaozhan@huawei.com> # message auto-generated for no-merge-commit merge: !5320 merge runtime-arch5162-datadump-and-aicpu-timeout into master [feat] Arch5162 support datadump and AICPU op timeout Created-by: FengHaozhan Commit-by: FengHaozhan Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 为 Arch5162 增加 RuntimeThread AICPU DataDump 和算子执行超时支持: 1. **DataDump 能力** - 扩展 RuntimeThread AICPU 插件接口,增加 worker 启动和 Dump 信息加载入口。 - 新增 DataDump TLV 解析、模型/任务索引管理、统计信息和 Tensor 文件写出实现。 - 将 Arch5162 DatadumpInfoLoad 路由到 RuntimeThread AICPU 插件,并在 AICore SQE 中透传 DataDump 标志。 2. **AICPU 执行超时** - 将 Arch5162 SetOpExecuteTimeOutV2 的实际超时值同步给 RuntimeThread AICPU 插件。 - 记录任务执行起始时间,通过 Stars 监控任务周期检查超时,并通过 Runtime hook 记录流错误。 - 支持禁用超时、同一执行仅上报一次以及流销毁时清理执行状态。 3. **接口与构建适配** - 扩展并校验 RuntimeThreadAicpuPluginApi 回调表,补充 DataDump/超时状态码与请求结构。 - 调整 CPU 通用实现文件命名及各产品 CMake 引用,保持 Arch5162 专有逻辑在产品实现边界内。 4. **测试补充** - 新增 DataDump 端到端、TLV 解析、索引管理、统计/Tensor 文件输出和异常路径 UT。 - 扩展 RuntimeThread AICPU 插件、Stars 监控注册、超时边界、流错误及 Arch5162 路由 UT。 本PR有两个前置PR,分别对应datadump功能和AICPU算子超时监控功能,本PR是两个PR合并,用于合入,原有代码变更和检视意见可以参见两个前置PR https://gitcode.com/cann/runtime/pull/5290 https://gitcode.com/cann/runtime/pull/5289 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue #1033 ## 如何测试 建议验证以下场景: 1. **编译构建**:执行 Runtime 全量构建,确认 Arch5162、非 Arch5162、cmodel、tiny 和 v200 产品的源文件选择及链接正常。 2. **AICPU Scheduler UT**:运行 runtime_thread_aicpu_utest,覆盖 DataDump TLV 解析/加载/卸载、统计与 Tensor 文件写出、Dump 回调路由和超时监控。 3. **Runtime Arch5162 UT**:运行 runtime_utest_arch5162,覆盖插件回调表校验、DataDump 路由、SQE Dump 标志、Stars 监控注册/注销、超时配置和流错误处理。 4. **上板验证**:在 Arch5162 环境验证实际 DataDump 文件内容、超时阈值边界、超时错误上报以及正常任务无误报。 当前验证状态:PR 最新提交已触发 CI,结果待确认;本次自动完善描述未额外执行本地构建、UT 或上板验证,不将新增测试代码等同于已执行通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档(本次变更未修改文档) - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 变更规模:33 个文件,新增 4194 行,删除 128 行。 - 当前 PR head:582919b6bf1de17472618a5d74409395b8bf6acb。 - DataDump 文件内容和 Driver/设备侧超时行为仍需在 Arch5162 环境完成集成验证。 See merge request: cann/runtime!5320 | 29 天前 | |
【PR】: refactor: 通过扩展任务回调解耦 FFTS 任务下发 Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !4973 merge aclgraph-event-decouple into master 【PR】: refactor: 通过扩展任务回调解耦 FFTS 任务下发 Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 新增 ExtTaskLaunch 回调注册机制,按芯片类型和任务类型保存任务下发函数。 新增 Stream::LaunchExtTask(),由 Stream 查找并调用对应的扩展任务处理函数。 FFTS Plus 在 V100、David 芯片初始化时注册下发回调,API 层不再直接依赖 FFTS 实现。 移除 FFTS Plus 和 RDMA DB 接口对 Context::captureLock_ 的参数依赖。 为 rdmaPiValueModifyTaskInfoMap_ 增加独立互斥锁,保护插入、读取及清理操作;读取接口改为返回数据快照。 将新增的 ext_task_launch.cc 加入 runtime、cmodel、v200 和 UT 构建列表。 同步调整 FFTS、RDMA 相关 UT 的调用和桩函数 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 执行源码、ut编译无问题 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4973 | 29 天前 | |
【PR】: 简要描述 告警修改 Co-authored-by: wangluyao17<wangluyao17@huawei.com> # message auto-generated for no-merge-commit merge: !5730 merge master into master 【PR】: 简要描述 告警修改 Created-by: wangluyao17 Commit-by: wangluyao17 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/runtime!5730 | 7 天前 | |
【PR】: 简要描述 external event增强 Co-authored-by: wangluyao17<wangluyao17@huawei.com> # message auto-generated for no-merge-commit merge: !4829 merge 0910 into master 【PR】: 简要描述 external event增强 Created-by: wangluyao17 Commit-by: wangluyao17 Merged-by: cann-robot Description: # Pull Request ## 描述 external record 支持时间戳 :extreanl record 完成后,可通过既有rtEventElapsedTime接口获取两个计时 Event 间耗时。 external record 动态替换 Event: 支持通过rtModelTaskSetParams修改externalEventRecord task的参数,支持模型执行的时候,set,update参数对下一次执行生效。 ## 变更类型 请选择本次引入的变更类型: <!-- [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/runtime!4829 | 9 天前 | |
自研 AICPU 算子快照恢复适配 Co-authored-by: zhangxingxing_xx<zhangxingxing33@hisilicon.com> # message auto-generated for no-merge-commit merge: !4327 merge feat/aicpu-snapshot-restore into master 自研 AICPU 算子快照恢复适配 Created-by: zhangxinxing_xx Commit-by: zhangxingxing_xx Merged-by: cann-robot Description: ## 描述 实现 issue #838 需求:自研 AICPU 快照恢复适配。 快照恢复时,自定义 AICPU 进程(custom_aicpusd)由上层框架拉起,Runtime 感知不到,需要主动恢复。 ## 变更类型 - [x] ✨ 新功能 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) ## 关联的Issue #838 ## 如何测试 1. 拉起带自定义 AICPU 算子的场景,触发快照备份与恢复 2. 验证快照恢复后自定义 AICPU 进程正常加载、算子可执行 3. 验证 AICPU printf 功能在快照恢复后正常工作 4. 验证无自定义 AICPU 进程时快照恢复正常不受影响 ## 变更内容 ### 1. Device 新增 hasCustomProcess_ 字段 - device.hpp:新增 hasCustomProcess_ 字段及 getter/setter - raw_device.hpp:新增 GetLoadedPrograms() 方法,返回 programSet_ 拷贝 - raw_device.cc:新增 ReInitAicpuPrintfMem() 方法,重置 printf 内存并复用原设备地址 ### 2. 备份阶段:查询自定义 AICPU 进程 - SnapShotProcessBackup() 中遍历设备调用 NpuDriver::QueryDevPid(cpType=RT_DEV_PROCESS_CP2) - 结果保存到 dev->SetHasCustomProcess() ### 3. 恢复阶段:新增 4 步恢复逻辑 | 步骤 | 实现方式 | 说明 | |------|---------|------| | (1) StartAicpuSd | Runtime::StartAicpuSd | 拉起自研 AICPU 进程 | | (2) CloseAicpuMonitor | AicpuTimeoutManager::TryCloseAicpuMonitor(已有) | 关闭 AICPU monitor | | (3) BatchLoadCustomAicpuSo | LaunchAicpuKernelForCpuSo | 批量加载自定义 AICPU SO,每批最多 1024 个 | | (4) SetAicpuDfxForRestore | SetupAicpuPrintfDfx | 恢复 AICPU printf 配置 | ### 4. RestoreModule 提前执行 - 将 RestoreModule() 从 per-device 循环之后提前到之前 - 原因:batchLoadsoFrombuf 需要 SO binary 已在设备内存中 ### 5. AllocAndCopyHbmBuf 公共函数提取 - 从 Program::ProcCpuKernelH2DMem 中提取 AllocAndCopyHbmBuf 到 program.hpp/program.cc - BatchLoadCustomAicpuSo 和 ProcCpuKernelH2DMem 共用,消除重复代码 ### 6. binary_loader 补齐 AddProgramToPool - LoadCpuKernelFromData(mode 2 路径)补齐 AddProgramToPool 调用 - 修复此前 mode 2 路径缺失程序池注册的问题 ### 7. Notify ReAllocId 守卫 - Notify::ReAllocId 增加 MAX_UINT32_NUM 判断,未分配 ID 时直接返回 ### 8. COND_LOG 重命名为 COND_LOG_WARN - base.hpp:COND_LOG → COND_LOG_WARN,语义更明确 - 全仓 28 处调用同步更新 ### 9. 代码检视问题修复 - rtError_t(int32_t)与 %#x 格式符类型不匹配:全部添加 static_cast<uint32_t>() - PtrToValue → RtPtrToValue:统一使用 runtime 核心定义的转换函数 - 注释风格规范化:C 风格块注释改为行注释 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 设计文档:docs/zh/design/features/issue_838_aicpu_snapshot_restore_analysis.md - SetAicpuDfx 的 infoAddr 传 printfAddr_ 设备地址(不确定点见设计文档 #2) - batchLoadsoFrombuf 直接复用 baseAddrAlign_ 的 device VA,无需重新分配 See merge request: cann/runtime!4327 | 1 个月前 | |
【PR】: SIMT栈内存优化 Co-authored-by: wangHuiH<wanghui391@hisilicon.com> # message auto-generated for no-merge-commit merge: !5836 merge fix/simt-stack-share-reviewed into master 【PR】: SIMT栈内存优化 Created-by: WangHuiH Commit-by: wangHuiH Merged-by: cann-robot Description: # Pull Request ## 描述 支持SIMT 共享栈内存的芯片在device侧申请共享内存,规格需要按照die的数量进行判断,单DIE 20M以上维持runtime申请。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5836 | 2 天前 | |
【PR】:precommit src/runtime Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !3723 merge master_clang into master 【PR】:precommit src/runtime Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3723 | 3 个月前 | |
【PR】:precommit src/runtime Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !3723 merge master_clang into master 【PR】:precommit src/runtime Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3723 | 3 个月前 | |
feat: 支持自定义AICPU算子FIFO打印能力 Co-authored-by: xiao_hhh<guohui37@huawei.com> # message auto-generated for no-merge-commit merge: !4109 merge feature-support-custom-aicpu-fifo-print into master feat: 支持自定义AICPU算子FIFO打印能力 Created-by: xiao_hhh Commit-by: xiao_hhh Merged-by: cann-robot Description: # Pull Request ## 描述 新增自定义 AICPU 算子 FIFO 打印能力,使自定义 AICPU 算子能够将 printf 调试信息通过 Device 环形缓冲区传递到 Host,并兼容 Runtime 旧解析链路与 ADUMP 新解析回调架构。 主要实现点: 1. **能力协商** - Primary Context 初始化完成后,通过 AicpuTimeoutControl::CheckKernelSupported 探测 tsKernel:SetAicpuDfx。 - 探测失败降级为不支持,不影响 rtSetDevice 主流程;PC/UT 构建跳过设备侧探测。 2. **自定义 AICPU SO printf 能力识别** - 在 mode 1/mode 2 自定义 AICPU SO 加载流程中解析 ELF .ascend.meta 段。 - 识别 type=4、length=4、value=6 的 printf TLV,并将结果记录到 Program。 3. **FIFO 初始化与地址下发** - 首次获取含 printf TLV 的 AICPU Function 时,按 Device 分配并初始化 1 MB AICPU printf FIFO,复用 Runtime 共享 printf 后台线程。 - 构造 packed AicpuDfxInfo/AicpuDfxAttrInfo/AicpuSetDfxArgs,通过 CtrlSQ Stream 下发 SetAicpuDfx。 - 区分长期有效的 devDfxMem 与临时任务参数 devDfxArgs,并补齐失败路径资源释放和重复初始化保护。 4. **AICPU FIFO V1/V2 双路径解析** - 未注册 rtParseDfxInfoFunc 时走 V1:Runtime 根据 packIdx 和 aicpuPrintTlvCnt_ 收集已提交的 DUMP_AICPU TLV,处理回绕/覆盖、清零消费区、推进 readIdx,完成终端与 Runtime INFO 日志输出,并触发旧 DFX 回调。 - 注册新解析回调时走 V2:Runtime 将完整 block、原始绝对 readIdx/writeIdx、coreType=3、coreId=0 和用户 Device ID 交给 ADUMP;Runtime 不解析 TLV、不判断半包、不使用 packIdx,仅根据回调返回的 consumedLen 进行范围限制、清零和读指针推进。 - 抽取 CollectCommittedAicpuDumpInfo 和 ClearDumpData,复用提交 TLV 收集及环形缓冲区清零逻辑。 5. **ADUMP 与平台适配** - rtDfxParseParam::coreType 增加 3=AICPU 约定。 - ADUMP DFX_CORE_TYPE_MAP 增加 {3U, "aicpu"},旧回调可生成 asc_kernel_data_aicpu_0.bin。 - tiny 平台补充 AICPU V2 feature-not-support stub。 6. **资源生命周期与异常处理** - Device 销毁时释放 AICPU printf FIFO,并重置 V1 TLV 计数。 - 补齐 ELF section header 解析失败、SetAicpuDfx Launch/同步/H2D 失败路径的资源释放。 - 修复故障 UT 中 mock 被公共成功 mock 覆盖的问题。 本 PR 包含 21 个 Runtime/adump 源码及 UT 文件,不包含本地需求 Markdown 文档。 ## 变更类型 - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. pre-commit:仓库 clang-format v16 与 OAT 检查通过;CI codecheck_precommit 通过。 2. 产品完整编译和打包:bash build.sh 通过。 3. Runtime DFX UT:runtime_utest_dfx 86/86 通过,其中 AICPU V2 用例 8/8 通过。 4. Runtime 全量 UT:26 个测试程序,6485/6485 通过。 5. adump UT:4 个测试程序,937/937 通过。 6. camodel UT:runtime_utest_camodel 92/92 通过,v200 目标正常为 0 用例。 7. CI 编译、Runtime 各平台 UT、adump UT、API Check 和静态检查均通过;camodel 单次 CI 失败已本地复现为通过并触发流水线复跑。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已检查文档影响;本 PR 按范围不包含本地需求 Markdown 文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 - PR 保持单提交。 - AICPU V1 继续保留旧回调兼容性;AICPU V2 与 SIMD/SIMT V2 采用一致的完整 block 回调模型。 - 本地未跟踪需求文档和其他工作区文件未纳入 PR。 See merge request: cann/runtime!4109 | 1 个月前 | |
docs: 修正Runtime代码注释中的英文拼写错误 Co-authored-by: Eternal-z<jialuze@huawei.com> # message auto-generated for no-merge-commit merge: !4333 merge docs/fix-comment-typos-20260819 into master docs: 修正Runtime代码注释中的英文拼写错误 Created-by: Eternal-z Commit-by: Eternal-z Merged-by: cann-robot Description: # Pull Request ## 描述 修正 Runtime 代码独立注释中 11 处可以明确确认的英文拼写错误,共涉及 5 个文件: - argment → argument - submitd → submitted、submiting → submitting、submited → submitted - callef → called(2 处) - trgierd → triggered、Triger → Trigger、un-trigerd → un-triggered、dependend → dependent - memroy → memory 本次只修改独立注释文本,不修改接口、函数或类标识符、日志字符串及运行逻辑;例如现有 Notifier::Triger() 标识符保持不变。已检索当前 open PR 的标题、描述和相关文件清单,未发现上述错误词的重复修复。设计文档图片中的可提取文字也已检查,未发现能够可靠确认的错误,因此未修改图片。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 对新增注释行执行 codespell 检查,未发现新的拼写问题;目标错误词复查无残留。 2. 执行 git -c core.whitespace=cr-at-eol diff --check,检查通过。 3. 人工逐行检查 diff,确认 11 个新增行均为注释,不包含可执行代码或日志字符串。 4. 推送分支时 Git Hooks 检查通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次为纯注释拼写修正,不影响编译结果、覆盖率和运行行为,无需新增单元测试。 See merge request: cann/runtime!4333 | 2 个月前 | |
【fix】: clean alarm Co-authored-by: perfect_hzy<huzeyong@huawei.com> # message auto-generated for no-merge-commit merge: !5741 merge clean_alarm_10_21 into master 【fix】: clean alarm Created-by: perfect_hzy Commit-by: perfect_hzy Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [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/runtime!5741 | 5 天前 | |
【PR】: delete RuntimeIntf virtual Apixx_() and forward declaration Co-authored-by: wangzhensheng<wangzhensheng4@huawei.com> # message auto-generated for no-merge-commit merge: !4872 merge master into master 【PR】: delete RuntimeIntf virtual Apixx_() and forward declaration Created-by: wangzhensheng Commit-by: wangzhensheng Merged-by: cann-robot Description: # Pull Request ## 描述 收紧 RuntimeIntf 的抽象职责,将仅由具体 Runtime 使用的 ApiXX_() 获取接口移出 RuntimeIntf 虚接口体系。 这是内部架构重构,不涉及 API 功能删除或运行逻辑调整。 **主要变更** 1. 从 RuntimeIntf 删除以下 13 个纯虚函数: cpp Api_() ApiMbuf_() ApiSoma_() ApiEvent_() ApiKernelFunc_() ApiEsched_() ApiSnapshot_() ApiRtConfig_() ApiDeviceTopology_() ApiIpcMemory_() ApiKernelArgs_() ApiHostMemory_() ApiImpl_() 2. Runtime 中仍然保留上述同名方法,只移除了 override。因此既有调用方式不变,仍然可以通过以下方式获取对应实现对象: cpp Runtime::Instance()->Apixxx_(); 3. 调整类型前置声明: - 从 runtime_intf.hpp 删除 Api、ApiMbuf、ApiSoma、ApiEvent、ApiEsched 等冗余集中声明。 - runtime.hpp 补充自身直接需要的 ApiMbuf、ApiSoma、ApiDeviceTopology、ApiKernelArgs 声明,其他类型在 runtime.hpp 或已有依赖头文件中已经声明,不再重复声明。 **优化点** - **收紧 RuntimeIntf 职责**:RuntimeIntf 不再负责暴露各个 ApiXX 实现对象,只保留真正需要通过抽象接口调用的 Runtime 能力。 - **消除无意义的虚函数**:源码检索显示,这 6 个方法均通过具体的 Runtime::Instance() 调用,没有通过 RuntimeIntf* 或引用进行多态分发,因此不需要占用虚表项。 - **降低 ApiImpl 拆分耦合**:后续新增 ApiRtConfig、ApiDeviceTopology 等独立 Api 类时,不再需要同步扩充 RuntimeIntf 的纯虚接口,避免抽象基类随每次 ApiImpl 拆分持续膨胀。 - **明确声明归属**:Api 类型的前置声明放回真正使用这些类型的具体 Runtime 层,减少 RuntimeIntf 对具体 Api 分类的感知。 - **保持调用行为不变**:getter、成员对象和调用路径都没有变化,只是由虚函数变为普通成员函数。这次优化的主要收益是架构解耦和接口稳定性,不是显著的运行性能提升。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4872 | 1 个月前 | |
【PR】: 【feat】add SetModelNameWithCtrlMsg Co-authored-by: weixufan_turing<weixufan@huawei.com> # message auto-generated for no-merge-commit merge: !5174 merge master into master 【PR】: 【feat】add SetModelNameWithCtrlMsg Created-by: weixufan_turing Commit-by: weixufan_turing Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!5174 | 1 个月前 | |
refactor: 统一 Runtime ConstructSqe 契约、buffer 与注册表 (#829) Co-authored-by: xiangyang0909<huxiangyang1@huawei.com> # message auto-generated for no-merge-commit merge: !4273 merge feature/construct-sqe-contract-unification into master refactor: 统一 Runtime ConstructSqe 契约、buffer 与注册表 (#829) Created-by: xiangyang0909 Commit-by: xiangyang0909 Merged-by: cann-robot Description: ## 描述 本 PR 统一 Runtime Host 侧的 SQE 构造入口和注册机制。传统 rtStarsSqe_t 与 STARS V2(代码历史上使用 David 命名)的具体硬件格式继续由各平台函数填写;两者都服务于 STARS 调度体系,不是两种调度器。 关联 issue #829 ## 主要修改 - 将 PfnTaskToSqe 和 ToConstructSqe 统一为 TaskInfo*、void*、const TaskSqeInfo&,所有实现族使用同一张 g_taskFuncArrays 注册表。 - 删除独立 David 构造表和 stars_david.cc。David 具体构造函数在自身末尾直接调用 UpdateDavidSqeHeadUpdate;4 类没有独立构造内容的任务注册 ConstructDavidSqeUpdateHeadOnly,不引入模板 wrapper。 - 用 TaskSqeBuffer 表达五个 64B SQE 单元的通用容量。它保持原字节数组的 1B 自然对齐,不新增 8B 对齐要求。 - 明确 sqeNum 生命周期:公共初始化和 SaveTaskInfo 精确保留原值,包括 0;发送前也允许任务特定值。发送或 persistent rebuild 边界重新计算并保存本次实际 SQE 数,之后稳定使用到回收。 - 将 SQE 数量与预期 task report 数分开。SetExpectedTaskReportNum 在 ToConstructSqe 返回后调用:v100 使用 N,v200/v201 仅 MULTIPLE_TASK 使用 N,其他任务保持既有 1。 - 将跨任务的 David 公共能力收敛到平台 adapter;common task 文件只保留确实属于 common task 的逻辑。 - SetTaskTag 保留 collect 关闭和无有效 tag 两个快速返回,删除编译器属性和额外辅助函数;有效 tag 的读取、写入和清理顺序不变。 - 保留各平台 SQE 格式、Driver/TS 字节协议、公开 Runtime API/ABI 和原有调度器选择逻辑。 ## 冻结版本 - BASE:dec8cb91d0b48b731c3fabcd6bba0e40c01c5bf7 - HEAD:c68d45dbbb3104b3ceb6f24d33319ddadf5db1b9 - 关系:HEAD^ == BASE,单提交 - 规模:167 个文件,+2687/-1269 - 合并检查:本地 merge-tree 无冲突,GitCode v5 mergeable=true ## 本地验证 - 14 个相关 Runtime、模型、平台和 UT 构建目标成功。 - runtime_utest_engine:118/118。 - runtime_utest_task_david:639/639。 - runtime_utest_task_910B:721/721。 - runtime_utest_task_v201:79/79。 - runtime_utest_arch9202:3/3。 - runtime_utest_arch5162:BASE 1391/1391、HEAD 1395/1395;初次缺符号是 LD_LIBRARY_PATH 误加载系统 msdebug 旧桩库,前置各自构建桩库后全量通过。 - 生命周期直接测试:4/4;David 构造后真实发送直接测试:3/3。 - Arch9201 的 Arch9201StreamInfoExTest.* 在 BASE/HEAD 均为 0/3,失败断言一致,已定位为主干既有 MockCPP 十参数回调截获问题,不计为本 PR 新增回归,也不把该测试组写成通过。 - pre-commit、OAT、CRLF 兼容的 diff --check 均通过。 ## 在线 CI 最终 GitCode Action 403a946e46984a3c9ff41dd3d5060827 已通过:PreBuild、Compile、UT、UT_report、PreSmoke 和后处理全部完成,64 个 Job 成功、2 个可选 Job 忽略、0 失败,PR 已恢复 ci-pipeline-passed。 两次中间失败均已保留并归因:Action 83ed94e... 暴露新增 DC 测试夹具的池大小为 0,已只修测试并由 rts_common 通过确认;Action b0f12839... 唯一失败为 msprof 既有并发清理用例,PR 对该目标源码/CMake 输入零修改,BASE/HEAD 各重复 1000 次通过,最终 CI 也通过。 ## 性能边界 性能目标为“不劣化”。静态分析确认 void* 转换本身不生成指令,主要风险是第三参数对象物化和数量元数据维护;统一入口同时删除了一次重复 GetSendSqeNum。历史真机数据只用于改进测量方法,不能外推到本次冻结版本。 ## 核对清单 - [x] 构造入口和注册表统一,平台格式差异保留。 - [x] sqeNum 初始化、发送快照和回收生命周期有直接测试。 - [x] v100 N/N、David 普通多 SQE N/1 与 MULTIPLE_TASK N/N 语义有直接测试。 - [x] David 直接收尾方案保持不变。 - [x] 当前提交已 rebase 为最新冻结主干的单提交。 See merge request: cann/runtime!4273 | 1 个月前 | |
【PR】:precommit src/runtime Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !3723 merge master_clang into master 【PR】:precommit src/runtime Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3723 | 3 个月前 | |
【PR】: dqs inter chip dot Co-authored-by: gliangliang<guoliangliang16@huawei.com> # message auto-generated for no-merge-commit merge: !5421 merge master into master 【PR】: dqs inter chip dot Created-by: gliangliang Commit-by: gliangliang Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 新增dqs跨片打点,记录c-core执行前后维测,用于兜底释放 ## 变更类型 请选择本次引入的变更类型: <!-- [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/runtime!5421 | 2 天前 | |
【PR】:precommit src/runtime Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !3723 merge master_clang into master 【PR】:precommit src/runtime Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3723 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 2 个月前 | ||
| 8 天前 | ||
| 16 天前 | ||
| 2 天前 | ||
| 28 天前 | ||
| 1 天前 | ||
| 29 天前 | ||
| 1 个月前 | ||
| 2 天前 | ||
| 30 天前 | ||
| 7 天前 | ||
| 6 天前 | ||
| 3 个月前 | ||
| 2 天前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 2 天前 | ||
| 2 个月前 | ||
| 9 天前 | ||
| 29 天前 | ||
| 29 天前 | ||
| 7 天前 | ||
| 9 天前 | ||
| 1 个月前 | ||
| 2 天前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 5 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 2 天前 | ||
| 3 个月前 |