| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
aclgraph支持npu快照(支持不删除model直接执行) Co-authored-by: chingbb<qinbeibei4@huawei.com> # message auto-generated for no-merge-commit merge: !4426 merge dev into master aclgraph支持npu快照(支持不删除model直接执行) Created-by: chingbb Commit-by: chingbb Merged-by: cann-robot Description: ## 描述 本 PR 实现 aclgraph NPU 快照恢复功能(支持不删除 model 直接执行),并在后续提交中持续修复快照恢复路径的缺陷和扩展支持范围。 ### 主要变更 **1. aclgraph 支持NPU快照(支持不删除model直接执行)** - 新增快照备份和恢复流程,支持模型不删除直接重复执行 - CaptureModel 新增 LoadComplete / LoadCompleteByStreamPrep / LoadCompleteByStreamPostp / LoadCompleteByStream 虚函数,支持各平台覆写 - Model 新增 UpdateLabelCountPtr / ResetFuncCallMem 等方法,支持快照恢复时重置 funcCall 内存和 label count - UbArgManage 新增 RestoreArgRes,快照恢复时重建 stream UB args pool **2. 快照恢复 stream active FuncCall 重建** - 新增 UpdateStreamActiveTaskFuncCallForSnapshot,快照恢复后重建 stream active 任务的 funcCall memory - 修复非扩流场景 stream active 任务快照恢复失败的问题 **3. 快照恢复 MemConvertAddr 使用原始 copySize** - MemcpyAsyncTaskInfo 新增 copySize 字段保存原始搬运长度,size 改存 fixed_size - 修复快照多次恢复时 size 被 fixed_size 覆盖后 MemConvertAddr 地址转换长度错误 **4. 快照恢复扩展支持 software SQ 场景** - UpdateSnapShotSqe 拆分为设备 SQ 路径(UpdateDeviceSqeForSnapshot)和软件 SQ 路径(UpdateHostSqeForSnapshot) - 快照恢复移除 David 平台限制,所有平台统一调用 UpdateSnapShotSqe - 补全 2D memcpy 任务 copyMethod 标记(RT_ASYNC_CPY_2D) - RebuildExternalTaskSqe 重命名为 UpdateHostSqeBufferByTask,语义更通用 **5. 快照 memcpy SQE 更新重构** - UpdateMemcpyDeviceSqeForSnapshot 从 stream.cc 迁移到 memory_memcpy_async_task.cc - 提取 NeedUpdateMemcpyTaskInfoForSnapshot 谓词函数,消除 needUpdateSqe 出参 - UpdateDeviceSqeForSnapshot 改用 switch-case 替代 if-else 链 - UpdateMemcpyDmaForSnapshot 重命名为 UpdateMemcpyTaskInfoForSnapshot - DavidStream 新增 UpdateMemcpyTaskAndSqe 成员函数 - 同步更新 arch5162 stub 和 UT **6. 其他** - Notify::ReAllocId 新增 MAX_UINT32_NUM 守卫,跳过无效 notifyid 的重分配 - snapshot_process_helper.cc 告警日志补充 model_type 参数 - tiny stub 补充 RestoreForSoftwareSqForOneModels / LoadComplete 系列桩函数 ## 变更类型 - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [x] ♻️ 重构 ## 如何测试 1. 编译验证:bash build.sh 编译通过 2. UT 执行:runtime_utest_api_david(653 用例)、runtime_utest_api_910B(1405 用例)、runtime_utest(1209 用例)全部通过 3. 覆盖率:增量变更行覆盖率 76.4% ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 See merge request: cann/runtime!4426 | 5 天前 | |
【PR】: 优化 Context 头文件依赖 Co-authored-by: maixaofan2<maxiaofan2025@163.com> # message auto-generated for no-merge-commit merge: !4044 merge fix-doc-spelling-clean into master 【PR】: 优化 Context 头文件依赖 Created-by: maxiaofan2 Commit-by: maixaofan2 Merged-by: cann-robot Description: # Pull Request ## 描述 优化 Runtime 模块的头文件依赖关系,减少 context.hpp 带来的非必要传递包含。 本次修改不改变 Runtime 接口行为和执行逻辑,主要调整头文件的依赖归属: - 清理 Context 模块中的重复及未使用头文件。 - 删除 context.hpp 中未使用的 SqeInfo 前置声明。 - 对仅以指针形式使用的 RtDebugSendInfo 和 rtDebugReportInfo_t 添加前置声明。 - 由实际调用 ConstructSqeByTaskInput 的文件直接包含 task_to_sqe.hpp。 - 由实际调用 TaskFactory 成员函数的文件直接包含 task.hpp。 - 修复源码和 UT 对 context.hpp 传递包含的隐式依赖。 - 保证各编译单元直接声明自身所依赖的类型和接口。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4044 | 29 天前 | |
【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 | 1 个月前 | |
【PR】【fix】fix typos and grammatical errors in log messages 3rd round Co-authored-by: Hou_jialin<houjialin3@huawei.com> # message auto-generated for no-merge-commit merge: !4703 merge br_fix_rts_log_3rd into master 【PR】【fix】fix typos and grammatical errors in log messages 3rd round Created-by: Hou_jialin Commit-by: Hou_jialin Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 整改 Runtime 日志易用性问题,主要包括: - 补充参数当前值、合法范围、期望枚举值及必要的度量单位。 - 修正错误对象、操作名称、返回值字段和格式参数。 - 优化描述不完整、容易误解或包含失败敏感词的日志文案。 - 结合实际返回行为,将少量需要关注的 INFO 日志调整为 WARN/WARNING。 - 保留辅助诊断、降级处理等场景的 INFO 级别,避免重复提升为 ERROR。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 无。 ## 如何测试 NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4703 | 11 小时前 | |
【feat】: arch5162隔离device模块不支持功能 Co-authored-by: turing_yhy<yanhaiyan@huawei.com> # message auto-generated for no-merge-commit merge: !4216 merge master into master 【feat】: arch5162隔离device模块不支持功能 Created-by: turing_yhy Commit-by: turing_yhy Merged-by: cann-robot Description: # Pull Request ## 描述 【arch5162】隔离device模块不支持功能:基于ringbuffer的错误处理,aicpu错误消息缓存,控制流 ## 变更类型 请选择本次引入的变更类型: <!-- [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!4216 | 26 天前 | |
【PR】: fix error log has magic number Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !4591 merge master_mv_pkginc_to_include into master 【PR】: fix error log has magic number Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 修复error日志下的枚举魔鬼数字 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: ut、源码编译跑过,error日志里的枚举魔鬼数字不存在 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4591 | 8 天前 | |
【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 | 1 个月前 | |
自研 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 | 2 天前 | |
【PR】: snapshot模块独立化重构 Co-authored-by: tingwood<zhangzijing@huawei.com> # message auto-generated for no-merge-commit merge: !2438 merge master into master 【PR】: snapshot模块独立化重构 Created-by: tingwood Commit-by: tingwood Merged-by: cann-robot Description: # Pull Request ## 描述 [refactor] snapshot模块独立化重构 主要内容: 将snapshot callback管理移至snapshot feature模块 新增snapshot_callback_manager.hpp/cc 将snapshot业务逻辑移至snapshot_process_helper 移动SnapShotProcessBackup/Restore 移动ModelBackup/Restore 移动SinkTaskMemoryBackup Device类依赖反转 创建IDeviceSnapshotOps接口在core DeviceSnapshot实现接口 raw_device持有接口指针 清理core模块 移除ContextManage中snapshot函数 移除Runtime中snapshot方法 删除无用代码 删除DeviceGetStreamlist方法 删除Context::GetStreamlist方法 依赖关系:core → snapshot 无反向依赖 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue NA ## 如何测试 UT ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!2438 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 天前 | ||
| 29 天前 | ||
| 1 个月前 | ||
| 11 小时前 | ||
| 26 天前 | ||
| 8 天前 | ||
| 1 个月前 | ||
| 2 天前 | ||
| 3 个月前 |