| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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】: 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 | 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】: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 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 3 个月前 |