| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【PR】: refactor: 拆分 Software Event 通用实现并解耦捕获状态判断 Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !4919 merge aclgraph-context-decouple-pr5 into master 【PR】: refactor: 拆分 Software Event 通用实现并解耦捕获状态判断 Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 详细修改描述: 1. 拆分 Software Event 通用实现 将以下通用方法从 ACLGraph feature 的 event_capture.cc 移到 Core 新文件 event_software.cc: RecordSoftwareEvent CaptureWaitProcess ExternalEventWaitProcess ResetSoftwareEvent tiny/arch5162 不编译正式实现,使用 Core 下新增的 event_software_stub.cc。同步调整 runtime、v200、cmodel、tiny、arch5162 和 UT 构建列表。 这一部分主要是代码位置迁移,函数主体逻辑保持不变。 2. Event 捕获状态不再依赖 CaptureModel Event::IsCapturing() 从: GetCaptureModel() != nullptr && captureModel->IsCapturing() 调整为: eventFlag_ != RT_EVENT_EXTERNAL && captureEvent_ != nullptr Event::ToBeCaptured() 从查询 CaptureModel 状态调整为直接查询传入 Stream 的捕获状态: eventFlag_ != RT_EVENT_EXTERNAL && stm->IsCapturing() 补充 UT,覆盖: - External Event 始终不进入捕获状态。 - 普通 Event 根据 captureEvent_ 判断捕获状态。 - ToBeCaptured() 对 Stream 的 NONE、ACTIVE 和 INVALIDATED 状态判断。 这一部分存在有意的语义调整:Event 捕获状态由 Event/Stream 自身状态表达,不再反向读取 CaptureModel。 3. 删除 Event::GetCaptureModel() 删除 Event 头文件和不同平台实现中的 GetCaptureModel(),避免 Core Event 直接依赖 ACLGraph 的 CaptureModel 类型。 原来 Event 销毁时由 Core 直接执行: event->GetCaptureModel(); captureModel->DeleteSingleOperEvent(event); 现在改为通过 CaptureOps::detachCaptureEvent 回调进入 ACLGraph feature,由 DetachCaptureEvent() 完成: 根据 captureEvent_ 找到 CaptureModel 从 singleOperEvents_ 删除用户 Event 清空用户 Event 的 captureEvent_ TerminateCapture() 中原来调用 Event::GetCaptureModel() 的位置也改为使用 feature 内部辅助函数。 4. 补齐 CaptureModel 析构清理 发现 CaptureModel 直接析构时,只销毁内部 capture Event,没有清除用户 Event 保存的 captureEvent_,会遗留悬空指针。 现在析构时先执行: for (Event* const evt : singleOperEvents_) { evt->SetCaptureEvent(nullptr); } singleOperEvents_.clear(); 然后再销毁内部 capture Event。 正常 EndCapture 已经通过 ExitCaptureNotify() 清理这些映射,因此正常流程不变;新增逻辑只补齐异常清理或直接析构路径。David UT 增加断言,确保 Model 析构后用户 Event 的捕获映射为空。 整体变更规模: 25 个文件 新增 290 行 删除 225 行 验证结果: EventTestDavid:60/60 通过 runtime_utest_task_david:612/612 通过 未跟踪的 docs/aclgraph/、stream_capture_state.* 等文件不属于这 3 个提交。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 源码、ut编译通,aclgraph用例执行无问题 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4919 | 3 天前 | |
refactor: 收编AllocTaskInfoForCapture + 合并AllocTask重载 + 收编AllocTaskInfo + 收编SaveTaskCommonInfo Co-authored-by: yanmingxiang<yanmingxiang@huawei.com> # message auto-generated for no-merge-commit merge: !4415 merge refactor/alloc-capture-task-unify-v2 into master refactor: 收编AllocTaskInfoForCapture + 合并AllocTask重载 + 收编AllocTaskInfo + 收编SaveTaskCommonInfo Created-by: yanmingxiang Commit-by: yanmingxiang Merged-by: cann-robot Description: # Pull Request ## 描述 收编 AllocTaskInfoForCapture,合并 AllocTask 两个重载为唯一签名,去掉 pos/dstStm 出参。 ### 接口归一 - 删除 AllocTaskInfoForCapture,48 个调用点直接调用 AllocTask - AllocAutoSplitTaskInfo 去 static,从 task_david.cc static 函数改为自由函数,声明移到 capture_adapt.hpp,v100/tiny 提供 stub - 合并 AllocTask 两个重载为唯一签名,去掉 pos/dstStm 出参,调用方从 task->id/task->stream 获取 - AllocCaptureTask/AllocCaptureTaskByTaskRes/AllocNonCaptureTask 去掉 pos/dstStm 参数 - AllocCaptureTaskByTaskRes v200 补充 task->stream/task->id 赋值(AllocTaskInfoAndPos 内部 memset 清零后需补充) - AllocNonCaptureTask v200 补充 task->stream/task->id 赋值(同上) - 48 个调用点替换: - 模式 A(4 处,有 isUpdateSinkSqe 判断):isUpdateSinkSqe == 1 时不赋值 pos/dstStm(保持 0xFFFF),else 分支从 tsk 赋值 - 模式 B(44 处,无 isUpdateSinkSqe 判断):直接 pos = tsk->id; dstStm = tsk->stream; ### SaveTaskCommonInfo 收编 - SaveTaskCommonInfo 改回调 InitByStream,统一设置 stream/tid/bindFlag/serial - 收编到 AllocTaskInfo 内部、AllocNonCaptureTask、AllocCaptureTaskImpl factory 分支、AllocCaptureTaskByTaskRes、AllocTaskInfoOnAutoSplitStream - 调用方不再外部调用 SaveTaskCommonInfo ### SingleStreamTerminateCapture - 从 AllocCaptureTask wrapper(锁外)移回 AllocCaptureTaskImpl 内部(持captureLock_) - 在 5 个错误返回路径恢复调用 ### HandleTaskGroupUpdate - 签名加 taskType 参数,ERROR message 恢复打印 GetTaskDescByType(taskType) - 76 处 AllocTask 调用点将 TS_TASK_TYPE_RESERVED 改为真实 taskType - 4 处分发型保持 RESERVED ### dstStm 统一 - 31 处旧 AllocTaskInfo 调用点统一补充 dstStm=task->stream - DavidSendTask/TaskRollBack/SubmitTaskPostProc/GetArgPos/SET_THREAD_TASKID_AND_STREAMID 统一使用 dstStm ### NOT_SUPPORT_AND_SKIP - UpdateDavidKernelTaskSubmit 和 ProcStreamRecordTask 加 NOT_SUPPORT_AND_SKIP ### 其他 - 删除冗余 task->id=pos 赋值 - 恢复被误删的注释 - cond_starsv2.cc alreadyCascaded 分支补充 SaveTaskCommonInfo ### UT 适配 - mock 从 AllocTaskInfoForCapture/AllocTaskInfo 迁移到 Stream::AllocTask - mock 返回 nullptr 时补齐 outBound 设置 error 引用参数 - mock 返回栈局部 TaskInfo 时补充 task.stream 赋值 - 修复 IpcEventStarsV2 测试 hang 和段错误 - v201 测试补充 task.stream,恢复 DISABLED 测试 - 新增 AllocTask_UpdateTaskFail 测试覆盖 SUPPORT 路径 ### 改动量 - 52 个文件修改,+1525 行新增,-1002 行删除 ## 变更类型 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) ## 关联的Issue 无 ## 如何测试 1. 编译验证: bash build.sh 编译通过 2. UT 验证:mock 从 AllocTaskInfoForCapture/AllocTaskInfo 迁移到 Stream::AllocTask,新增 AllocTask_UpdateTaskFail 测试覆盖 SUPPORT 路径 3. HLT 上板验证:待执行 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(refactor:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 无 See merge request: cann/runtime!4415 | 10 天前 | |
refactor: 收编AllocTaskInfoForCapture + 合并AllocTask重载 + 收编AllocTaskInfo + 收编SaveTaskCommonInfo Co-authored-by: yanmingxiang<yanmingxiang@huawei.com> # message auto-generated for no-merge-commit merge: !4415 merge refactor/alloc-capture-task-unify-v2 into master refactor: 收编AllocTaskInfoForCapture + 合并AllocTask重载 + 收编AllocTaskInfo + 收编SaveTaskCommonInfo Created-by: yanmingxiang Commit-by: yanmingxiang Merged-by: cann-robot Description: # Pull Request ## 描述 收编 AllocTaskInfoForCapture,合并 AllocTask 两个重载为唯一签名,去掉 pos/dstStm 出参。 ### 接口归一 - 删除 AllocTaskInfoForCapture,48 个调用点直接调用 AllocTask - AllocAutoSplitTaskInfo 去 static,从 task_david.cc static 函数改为自由函数,声明移到 capture_adapt.hpp,v100/tiny 提供 stub - 合并 AllocTask 两个重载为唯一签名,去掉 pos/dstStm 出参,调用方从 task->id/task->stream 获取 - AllocCaptureTask/AllocCaptureTaskByTaskRes/AllocNonCaptureTask 去掉 pos/dstStm 参数 - AllocCaptureTaskByTaskRes v200 补充 task->stream/task->id 赋值(AllocTaskInfoAndPos 内部 memset 清零后需补充) - AllocNonCaptureTask v200 补充 task->stream/task->id 赋值(同上) - 48 个调用点替换: - 模式 A(4 处,有 isUpdateSinkSqe 判断):isUpdateSinkSqe == 1 时不赋值 pos/dstStm(保持 0xFFFF),else 分支从 tsk 赋值 - 模式 B(44 处,无 isUpdateSinkSqe 判断):直接 pos = tsk->id; dstStm = tsk->stream; ### SaveTaskCommonInfo 收编 - SaveTaskCommonInfo 改回调 InitByStream,统一设置 stream/tid/bindFlag/serial - 收编到 AllocTaskInfo 内部、AllocNonCaptureTask、AllocCaptureTaskImpl factory 分支、AllocCaptureTaskByTaskRes、AllocTaskInfoOnAutoSplitStream - 调用方不再外部调用 SaveTaskCommonInfo ### SingleStreamTerminateCapture - 从 AllocCaptureTask wrapper(锁外)移回 AllocCaptureTaskImpl 内部(持captureLock_) - 在 5 个错误返回路径恢复调用 ### HandleTaskGroupUpdate - 签名加 taskType 参数,ERROR message 恢复打印 GetTaskDescByType(taskType) - 76 处 AllocTask 调用点将 TS_TASK_TYPE_RESERVED 改为真实 taskType - 4 处分发型保持 RESERVED ### dstStm 统一 - 31 处旧 AllocTaskInfo 调用点统一补充 dstStm=task->stream - DavidSendTask/TaskRollBack/SubmitTaskPostProc/GetArgPos/SET_THREAD_TASKID_AND_STREAMID 统一使用 dstStm ### NOT_SUPPORT_AND_SKIP - UpdateDavidKernelTaskSubmit 和 ProcStreamRecordTask 加 NOT_SUPPORT_AND_SKIP ### 其他 - 删除冗余 task->id=pos 赋值 - 恢复被误删的注释 - cond_starsv2.cc alreadyCascaded 分支补充 SaveTaskCommonInfo ### UT 适配 - mock 从 AllocTaskInfoForCapture/AllocTaskInfo 迁移到 Stream::AllocTask - mock 返回 nullptr 时补齐 outBound 设置 error 引用参数 - mock 返回栈局部 TaskInfo 时补充 task.stream 赋值 - 修复 IpcEventStarsV2 测试 hang 和段错误 - v201 测试补充 task.stream,恢复 DISABLED 测试 - 新增 AllocTask_UpdateTaskFail 测试覆盖 SUPPORT 路径 ### 改动量 - 52 个文件修改,+1525 行新增,-1002 行删除 ## 变更类型 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) ## 关联的Issue 无 ## 如何测试 1. 编译验证: bash build.sh 编译通过 2. UT 验证:mock 从 AllocTaskInfoForCapture/AllocTaskInfo 迁移到 Stream::AllocTask,新增 AllocTask_UpdateTaskFail 测试覆盖 SUPPORT 路径 3. HLT 上板验证:待执行 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(refactor:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 无 See merge request: cann/runtime!4415 | 10 天前 | |
【PR】:支持跨片调度pre_proc失败时将错误码记录到共享内存 Co-authored-by: phy-zhao<qianzhao1@huawei.com> # message auto-generated for no-merge-commit merge: !4666 merge br_inter_alloc_fail into master 【PR】:支持跨片调度pre_proc失败时将错误码记录到共享内存 Created-by: phy-zhao Commit-by: phy-zhao Merged-by: cann-robot Description: # Pull Request ## 描述 支持将跨片调度pre_proc条件算子中,申请对片mbuf handle的错误码记录到共享内存,便于TS侧执行对应异常处理 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 场景1:构造跨片调度消费端消费数据不及时,触发pre_proc申请mbuf handle失败 2. 场景2:构造跨片调度bus error,申请对片失败错误码应该为默认值0xFF ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4666 | 5 天前 | |
refactor: 迁移Launch、RDMA、FFTS和Model领域接口(#859) Co-authored-by: jia_shaoyang<jiashaoyang@huawei.com> # message auto-generated for no-merge-commit merge: !4449 merge context_task_launch_1 into master refactor: 迁移Launch、RDMA、FFTS和Model领域接口(#859) Created-by: jia_shaoyang Commit-by: jia_shaoyang Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 延续 Stream、Profiler 领域接口重构,将剩余 Launch、RDMA、FFTS 和 Model 任务下发能力从 Context 成员接口迁移到对应领域自由函数,统一调用链为 C API -> ApiImpl/ApiImplDavid -> 领域自由函数 -> 平台实现。 主要改动: 1. 保留 ApiImpl、ApiImplDavid 原有参数校验、默认流获取、日志及错误返回顺序,仅替换最终分发入口。 2. 新增 task_launch_c.hpp、task_launch_common.cc,承载通用 Launch 任务;将 RDMA 实现迁移到 launch/rdma_common.cc。 3. 将 FftsPlusTaskLaunch 收敛到 FFTS 模块,将 Model 调试注册、EndGraph、ModelExit 拆分为公共与 Stars 平台实现。 4. 删除迁移后的 Context 声明、实现及 FFTS 平台冗余文件,更新 runtime、v200、tiny、cmodel、arch5162 等 CMake 源文件挂载。 5. 调整 910B、950、arch5162、tiny 等相关 UT,使测试直接覆盖新的领域入口及平台差异路径。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> Issue #859 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 两个输入 Runtime 安装包执行 --check,完整性校验均通过。 2. 在 Ascend 910B3 上使用预编译 HLT 包执行 install-only 基线门禁验证:从 37 个推荐必跑用例中筛出 31 个主线包通过项,修改包结果为 31/31 PASS;其中 910B 有效覆盖 26/26 PASS,另有 5 项因平台条件限制仅验证到框架成功路径。 3. 验证期间设备始终为 Health=OK,无超时、崩溃或残留 rtstest_host 进程。 4. 提交钩子的增量 clang-format、OAT 合规检查及远端 Git Hooks 均通过。 验证边界:本轮未编译 Runtime 或 HLT;修改包与源码提交的对应关系按输入包语义记录,未独立反推源码 commit。910B 结果不能替代 David/950、MDC、910D/910_96 等目标平台验收,SetUpdateAddrTask、RDMASend 等现有 HLT 缺口仍需由精准 LLT 或新增 HLT 补充。 建议 CI/评审阶段补充: 1. 执行 Runtime 全量构建及相关 LLT,覆盖 runtime、v200、tiny、cmodel、arch5162 的编译和链接归属。 2. 在 David/950、MDC、910D/910_96 等平台补充差异实现验证。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次为内部调用链和平台实现归属重构,不修改公开 API 与对外行为,因此无需更新用户文档。重点评审项为各平台 CMake 源文件选择、默认流与 capture lock 传递,以及 Stars/David/tiny 分支行为是否保持一致。 See merge request: cann/runtime!4449 | 4 天前 | |
【PR】: arch9201 simt ub size适配 Co-authored-by: mintcoffee<zhangtingrui3@huawei.com> # message auto-generated for no-merge-commit merge: !4731 merge 0824 into master 【PR】: arch9201 simt ub size适配 Created-by: mintcoffee Commit-by: mintcoffee Merged-by: cann-robot Description: # Pull Request ## 描述 arch9201的simt ub size适配 ## 变更类型 请选择本次引入的变更类型: <!-- [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!4731 | 9 天前 | |
【PR】: refactor: move capture task methods to session Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !4819 merge aclgraph-context-decouple-pr5 into master 【PR】: refactor: move capture task methods to session Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 - 将级联 Capture Stream 创建与释放、TaskGroup、TaskUpdate、条件任务及子模型创建等方法从 Context 迁移至 CaptureSession - 调整 V100、David API 和 Stream 调用路径,通过 CaptureSession 或 CaptureOps 访问 ACLGraph 能力 - 新增 Context::DetachModel,封装子 CaptureModel 从 Context 模型列表移除的通用操作 - 将 CaptureModel 资源回收能力抽象为 Model 虚接口,并同步调整 SQ/CQ、Notify 和 Jetty 资源回收调用 - 删除 context_aclgraph 及对应 tiny stub,更新各产品和 UT 的构建文件 - 补充显式头文件依赖并同步更新相关单元测试 - 标准 ACLGraph 场景保持原有执行顺序、锁范围和资源处理逻辑 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 源码编译、ut编译执行、aclgraph用例执行通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4819 | 5 天前 | |
【PR】: fix code alarm Co-authored-by: x00508183<xiachanglin@huawei.com> # message auto-generated for no-merge-commit merge: !4779 merge master into master 【PR】: fix code alarm Created-by: xiachanglin Commit-by: x00508183 Merged-by: cann-robot Description: # Pull Request ## 描述 修复代码告警 1、删除头文件重复包含 2、头文件参数指针变量修改为指针常量,函数声明与函数定义保持一致 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4779 | 9 天前 | |
refactor: 迁移Launch、RDMA、FFTS和Model领域接口(#859) Co-authored-by: jia_shaoyang<jiashaoyang@huawei.com> # message auto-generated for no-merge-commit merge: !4449 merge context_task_launch_1 into master refactor: 迁移Launch、RDMA、FFTS和Model领域接口(#859) Created-by: jia_shaoyang Commit-by: jia_shaoyang Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 延续 Stream、Profiler 领域接口重构,将剩余 Launch、RDMA、FFTS 和 Model 任务下发能力从 Context 成员接口迁移到对应领域自由函数,统一调用链为 C API -> ApiImpl/ApiImplDavid -> 领域自由函数 -> 平台实现。 主要改动: 1. 保留 ApiImpl、ApiImplDavid 原有参数校验、默认流获取、日志及错误返回顺序,仅替换最终分发入口。 2. 新增 task_launch_c.hpp、task_launch_common.cc,承载通用 Launch 任务;将 RDMA 实现迁移到 launch/rdma_common.cc。 3. 将 FftsPlusTaskLaunch 收敛到 FFTS 模块,将 Model 调试注册、EndGraph、ModelExit 拆分为公共与 Stars 平台实现。 4. 删除迁移后的 Context 声明、实现及 FFTS 平台冗余文件,更新 runtime、v200、tiny、cmodel、arch5162 等 CMake 源文件挂载。 5. 调整 910B、950、arch5162、tiny 等相关 UT,使测试直接覆盖新的领域入口及平台差异路径。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> Issue #859 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 两个输入 Runtime 安装包执行 --check,完整性校验均通过。 2. 在 Ascend 910B3 上使用预编译 HLT 包执行 install-only 基线门禁验证:从 37 个推荐必跑用例中筛出 31 个主线包通过项,修改包结果为 31/31 PASS;其中 910B 有效覆盖 26/26 PASS,另有 5 项因平台条件限制仅验证到框架成功路径。 3. 验证期间设备始终为 Health=OK,无超时、崩溃或残留 rtstest_host 进程。 4. 提交钩子的增量 clang-format、OAT 合规检查及远端 Git Hooks 均通过。 验证边界:本轮未编译 Runtime 或 HLT;修改包与源码提交的对应关系按输入包语义记录,未独立反推源码 commit。910B 结果不能替代 David/950、MDC、910D/910_96 等目标平台验收,SetUpdateAddrTask、RDMASend 等现有 HLT 缺口仍需由精准 LLT 或新增 HLT 补充。 建议 CI/评审阶段补充: 1. 执行 Runtime 全量构建及相关 LLT,覆盖 runtime、v200、tiny、cmodel、arch5162 的编译和链接归属。 2. 在 David/950、MDC、910D/910_96 等平台补充差异实现验证。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次为内部调用链和平台实现归属重构,不修改公开 API 与对外行为,因此无需更新用户文档。重点评审项为各平台 CMake 源文件选择、默认流与 capture lock 传递,以及 Stars/David/tiny 分支行为是否保持一致。 See merge request: cann/runtime!4449 | 4 天前 | |
【PR】: fix:告警清理 Co-authored-by: zhangxingxing_xx<zhangxingxing33@hisilicon.com> # message auto-generated for no-merge-commit merge: !4943 merge warn-clean-0914 into master 【PR】: fix:告警清理 Created-by: zhangxinxing_xx Commit-by: zhangxingxing_xx Merged-by: cann-robot Description: # Pull Request ## 描述 清理代码静态检查告警: 1. AllocAndCopyHbmBuf、BuildAicpuReloadSoBufs 的 dev 入参 const 规范化,函数体内仅调用 const 成员函数 Id_() / Driver_(),声明与定义同步修改; 2. FreeBufferForEvent、QueryCustomAicpuProcess 中仅赋值一次的局部变量 const 化; 3. aicpuPrograms.data() + idx 指针算术改为 &aicpuPrograms[idx] 等价写法。 变更均为等价重构,不影响运行逻辑与对外接口。 ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 静态核查:确认改动函数体仅调用 const 成员函数,全部调用点与新签名兼容(含 UT 用例); 2. 等价重构不改运行逻辑,经 CI 门禁编译与 UT 验证。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无 See merge request: cann/runtime!4943 | 4 天前 | |
【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 | 10 天前 | |
refactor: 统一TaskResManage公共接口调用,收敛实现类强转(#752) Co-authored-by: daijinling<daijinling2@huawei.com> # message auto-generated for no-merge-commit merge: !3707 merge feature/erb20260713 into master refactor: 统一TaskResManage公共接口调用,收敛实现类强转(#752) Created-by: daijinling Commit-by: daijinling Merged-by: cann-robot Description: # Pull Request ## 描述 ### 背景 Stream::taskResMang_ 的静态类型已经是 TaskResManage*,A5/XPU 使用的 TaskResManageDavid 也继承自该基类。改造前,GetTaskInfo、ResetTaskRes 等公共虚函数以及 head、tail、empty、pending 等跨平台同义状态仍存在具体类型调用:部分接口只在 TaskResManageDavid 中声明,调用方必须先转换为具体类型,导致 A5/XPU 实现细节扩散到 Stream、Task 提交和回收路径。 本 PR 完成 TaskResManage 公共成员函数的多态归一,使公共查询和状态读取统一通过 TaskResManage* 分派,同时保留 A2/A3 与 A5/XPU 各自的资源环语义和平台专用修改操作。 ### 核心改动 1. 在 TaskResManage 基类统一声明 GetResHead、GetResTail、GetHeadTail、IsEmpty、GetPendingNum 虚接口;其中 GetResHead 由原非虚接口调整为虚接口。 2. 为 A2/A3 提供基于 taskResHead_、taskResTail_ 的默认实现,支持 head/tail 读取、空判断和环形 pending 计算,保持完整 Task ID 查询与 STARS 逐项回收语义不变。 3. 在 TaskResManageDavid 中 override 上述状态接口,直接读取 taskResAHead_、taskResATail_;删除同义的 GetTaskPosHead、GetTaskPosTail,避免同一状态存在两套命名。 4. 将 DavidStream、A5 Task 提交/回收/同步、XPU Stream 和 XPU 回收路径中仅调用公共成员的具体类型转换改为基类指针调用;GetTaskInfo、ResetTaskRes、head/tail/head-tail、empty、pending 均由虚分派选择实际资源环。 5. 保留 AllocTaskInfoAndPos、RecycleTaskInfo、RollbackTail、IsRecyclePosValid、GetAllocNum 等 A5/XPU 专用接口及必要的集中类型转换,不将参数和状态语义不同的操作强行提升到基类。 6. 更新相关 A5/UB 测试中的旧 getter 名称,并新增或扩展 A2/A3、STARS、A5、DQS、XPU 的基类指针测试,覆盖空状态、跨零点、pending、完整 ID 校验、多 SQE 位置查询、回收和 reset。 ### 范围和兼容性 - 不修改 Stream::AllocTask、Task 申请、正常回收、提交失败回退、A5/XPU 批量回收、STARS 分离回收、SQE 构造或驱动交互流程。 - 不引入 TaskResRoute、策略对象、新源文件、锁、原子计数或额外内存申请。 - 不修改对外 API、Task ID、taskSn、pos、sqeNum、内存布局和资源所有权语义。 - Stream 创建期申请/回收函数绑定不在本次实现范围。 交付提交:18fbb0326f72bd3ed68ab600f066d7d832752b32 ## 关联的Issue Closes #752 https://gitcode.com/cann/runtime/issues/752 ## 测试 新增或扩展的定向 LLT 设计(本次未执行): - A2/A3:通过 TaskResManage* 验证空状态、环形 pending、跨零点、完整 Task ID 校验、位置复用和 reset。 - STARS:验证分离回收按序推进基类资源环 head,最终 head/tail 一致且 pending 清零。 - A5:通过基类指针验证 A 环 head/tail/pending、多 SQE 后续位置反查首 pos、回收和 reset;专用申请/回收仍通过 TaskResManageDavid。 - DQS、XPU:验证实际 Stream 中的 TaskResManage* 能正确分派到 A 环实现,XPU 专用回收流程保持不变。 | 验证项 | 命令或范围 | 结果 | |---|---|---| | 编译 | bash build.sh | PASS | | LLT | bash tests/build_ut.sh --ut=runtime --target=runtime_ut | 未执行;按本次交付要求仅验证编译,不声明 LLT/HLT 通过 | | 测试审计与代码审查 | /test-audit verify + review、+1/+2 review | PASS;文档漂移修复后第二轮 review clean | ## 文档同步 已更新 docs/zh/design/modules/task/task.md 的 Stream TaskRes 类图,补充 TaskResManage 公共虚接口及 TaskResManageDavid override,并移除已删除的 manager 层 GetTaskPosHead/GetTaskPosTail。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:TaskResManage 公共成员多态归一重构 See merge request: cann/runtime!3707 | 9 天前 |