| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: 为 AscendC 提供 AICPU DFX Info 设置能力 Co-authored-by: sujunwei3<sujunwei3@huawei.com> # message auto-generated for no-merge-commit merge: !3931 merge new_dev into master feat: 为 AscendC 提供 AICPU DFX Info 设置能力 Created-by: sujunwei3 Commit-by: sujunwei3 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 为 AscendC 自定义算子在 AICPU 调度执行时提供 DFX Info 设置和 dump 能力,主要包括: 1. 新增 AicpuDfxInfo 结构体及 infoAddr 字段定义(aicpu_context.h、aicpusd_info.h、aicpu_task_struct.h) 2. SetAicpuDfxTsKernel::Compute 按 DfxCpType(AICPUSD / CUSTOM_AICPUSD)分支处理 dfx info 设置 3. AicpuCustDumpProcess::AICPUEventSetDfxInfo 接收并处理 custom_aicpusd 的 dfx info 4. aicpu_sharder 新增 aicpu context 支持 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue #805 ## 如何测试 1. **单元测试 - HWTS Kernel DFX Info** - 执行 hwts_kernel_set_dfx_info_test,验证 AICPUSD 和 CUSTOM_AICPUSD 两种 cpType 场景下 dfx info 设置正确 - 验证非法 cpType 返回 AICPU_SCHEDULE_ERROR_PARAMETER_NOT_VALID 2. **单元测试 - Custom Schedule Dump Process** - 执行 aicpu_cust_schedule_test,验证 AICPUEventSetDfxInfo 正确处理 custom_aicpusd 的 dfx info 3. **单元测试 - Aicpu Context** - 执行 aicpu_context_ut,验证 aicpu_sharder 中 aicpu context 相关功能 4. **编译构建验证** - 执行 bash build.sh 验证整包编译通过 - 执行 UT 编译:bash tests/build_ut.sh --ut=aicpu_sched ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 - 日志格式修复:infoAddr 为 uint64_t 类型,原 %u 格式说明符在 64 位系统上会截断地址,修正为 %lu - UT 覆盖:新增 3 个测试文件,覆盖 hwts kernel dfx info、custom schedule dump、aicpu context 三个模块 See merge request: cann/runtime!3931 | 27 天前 | |
fix: runtime 仓dfx组件代码未进行代码格式化不符合代码规范,需要整改 (#840) Co-authored-by: GuoWenbo<guowenbo13@h-partners.com> # message auto-generated for no-merge-commit merge: !4361 merge fix-issue-840 into master fix: runtime 仓dfx组件代码未进行代码格式化不符合代码规范,需要整改 (#840) Created-by: GuoWenbo Commit-by: GuoWenbo Merged-by: cann-robot Description: ## 描述 - 修复摘要: runtime 仓 dfx 组件代码未进行代码格式化,不符合代码规范,需要按仓内 pre-commit / clang-format 规范整改。 - 变更范围按 /mnt/workspace/.cann_fix/runtime_issue_840_20260819153258/cann-fix-plan.md 的候选修改点汇总,不在 PR 描述中逐文件展开: - src/dfx/log - src/dfx/trace - include/dfx/base/acl_log.h - include/dfx/base/alog_pub.h - include/dfx/base/log_types.h - pkg_inc/base/dlog_pub.h - pkg_inc/base/plog.h - pkg_inc/trace/atrace_pub.h - pkg_inc/trace/atrace_types.h - pkg_inc/watchdog/awatchdog.h - pkg_inc/watchdog/awatchdog_types.h - 文件级清单以计划产物 dfx-log-trace-expanded-files.txt 和 PR Files changed 为准,PR 描述不展开完整清单,避免描述过长。 - Diff 内容不逐文件展示,本次主体为格式化整改;检视反馈补充了文件末尾换行、宏表达式括号、atrace UT 中已有 utrace_arm_utest 目标的顶层依赖入口、stacktrace 覆盖率相关既有 UT 源文件的构建入口,以及线上覆盖率 UT 暴露的 ringbuffer 并发压测用例稳定性、AtraceStackcoreParse 包装层覆盖、atrace UT stub 依赖的 adcore 头文件 include 路径和 x86 ScdThreadsUtest 栈帧用例稳定性。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/runtime/issues/840 ## 如何测试 - 测试结论: 格式化检查和新增覆盖率 focused 验证 PASS;ScdUtilUtest.TestScdPtraceAttach 超时已修复,完整 utrace_utest 不再因该用例超过 300s;线上覆盖率包中暴露的 RraceRbLogUtest 并发压测波动、atrace_stackcore_api.c 0 覆盖、atrace UT adcore_api.h 头文件缺失编译问题,以及 x86 ScdThreadsUtest.TestScdFramesInit/TestScdFramesMemcpyFailed 依赖真实栈展开导致的波动已补充处理。 - pre-commit run --files tests/ut/atrace/ut/utrace/testcase/stacktrace_dumper/scd_threads_utest.cc: PASS - pre-commit run --files tests/ut/atrace/ut/utrace/CMakeLists.txt tests/ut/atrace/ut/trace_server/CMakeLists.txt: PASS - pre-commit run --files tests/ut/atrace/ut/utrace/testcase/trace_rb_log_utest.cc tests/ut/atrace/ut/utrace/testcase/stacktrace_dumper/scd_process_utest.cc: PASS - git diff --check: PASS - cmake --build build --target utrace_arm_utest -- -j8: PASS - cmake --build build --target trace_server_utest -- -j8: PASS - cmake --build build --target utrace_utest -j$(nproc): PASS - build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter='RraceRbLogUtest.TestMsgNumLTBufferSize:RraceRbLogUtest.TestMsgNumEQBufferSize:RraceRbLogUtest.TestMsgNumGTBufferSize' --gtest_repeat=10 --gtest_break_on_failure: PASS - build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter='ScdProcessUtest.TestAtraceStackcoreParse': PASS - build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter=StacktraceDumperBinUtest.*: PASS, 8/8 passed - build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter=ScdUtilUtest.*: PASS, 20/20 passed;TestScdPtraceAttach 约 21-32ms。 - bash tests/build_ut.sh --ut atrace --target utrace_utest --ut_timeout=300: PASS, 296/296 passed, 总耗时 23.855s。 - bash tests/build_ut.sh --ut atrace --target utrace_utest --ut_timeout=300: PASS;本机为 aarch64,x86-only ScdThreadsUtest 不编入本地目标;本次复验生成 UT XML: utrace_utest 296/296 passed, utrace_arm_utest 2/2 passed, trace_server_utest 73/73 passed。 - bash tests/build_ut.sh --ut atrace --target utrace_utest -c --ut_timeout=300: UT 阶段 PASS, 296/296 passed;本地生成 cov/coverage.info,重点文件覆盖率: atrace_stackcore_api.c 100.0%, stacktrace_dumper_bin.c 100.0%, stacktrace_parse.c 61.7%, trace_rb_log.c 90.6%。本地 genhtml 阶段因 /cmd_line 权限问题退出,不影响 UT 通过和 LCOV 数据生成。 - 变更范围核对: 变更文件均在计划范围或检视反馈补充范围内。 - cann-fix/test report 摘要: - 测试日志包含通过信号。 - 测试日志覆盖计划测试项 1 条。 - Problems: (none)。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次变更文件数量较多,PR 描述仅保留计划范围、测试结论和风险说明;完整文件级 diff 请以 PR Files changed 页面为准。 ## 风险和遗留问题 - 风险: 格式化文件数量较多,review 噪声较高。 - 控制: 仅按仓内格式化规则处理计划范围文件,不展开无关模块;通过 pre-commit clang-format 和 git diff --check 校验。 - 遗留问题: 本地 genhtml 阶段存在 /cmd_line 权限问题,已保留 coverage.info 和 UT XML 作为验证证据;线上环境可继续以平台生成的覆盖率 HTML 为准。 See merge request: cann/runtime!4361 | 14 天前 | |
feat: 增强任务错误的页故障诊断信息 Co-authored-by: lianglongzi8622<lianglongzi@huawei.com> # message auto-generated for no-merge-commit merge: !4096 merge feat/halmemctl-pagefault-diagnosis-v2 into master feat: 增强任务错误的页故障诊断信息 Created-by: lianglongzi8622 Commit-by: lianglongzi8622 Merged-by: cann-robot Description: # Pull Request ## 描述 增强 Stars task error 场景下的 SVM PageFault 补充诊断能力,并补齐诊断记录的清理生命周期: 1. 保持各类 task error 原有 handler、日志、错误分类和返回值不变;Stars V1/V2 在共用 ringbuffer 批次中至少处理过一个有效错误后,统一 Query 一次 Driver 保存的 PageFault 信息,覆盖 A2/A3 及 A5 平台特化路径。仅包含非法类型或孤立 Ext 元素的批次不会 Query/Clear。 2. Driver Query 成功后,Runtime 不判断查询内容,立即 Clear,再通过独立 RT_LOG_CALL_MSG 原样输出 Driver 返回的诊断字段;Query 失败时不打印补充 PageFault 日志,也不 Clear。 3. Query/Clear 均为 best effort,不改变原 task error 和 DeviceAbort 的处理结果。Driver 返回 DRV_ERROR_NOT_SUPPORT 时静默返回对应 Driver 映射码;halMemCtl 弱符号不存在时按现有封装风格返回 RT_ERROR_FEATURE_NOT_SUPPORT 并记录 WARNING。无 PageFault 记录(DRV_ERROR_NOT_EXIST)由 NpuDriver 记录 DEBUG 日志;其他 Query 失败及 Clear 调用失败由 NpuDriver 记录普通 ERROR 日志,调用方不重复记录。 4. Driver 无法感知 Runtime 主导的 DeviceAbort:A2/A3 在 terminate 状态确认后、DeviceClean 前 Clear;A5 在 abort status 确认后、RT_DEVICE_ABORT_POST 回调前 Clear。 5. 补充日志输出 fault address、fault VA 左侧最近合法区间的起始地址和大小(bytes)、共享标记及 device/host side 文本;异常 side 防御性输出 invalid。valid_range_devid 仅在 MEM_DEV_SIDE 时读取和打印。 ## Driver 契约 - 每个 device 独立保存一条 PageFault 记录。 - Query 输入为 uint32_t deviceId,输出为完整的固定长度 svmPagefaultInfo。 - valid_range_side 使用 enum drv_mem_side,有效值为 MEM_HOST_SIDE 或 MEM_DEV_SIDE;valid_range_devid 仅在 MEM_DEV_SIDE 时有效。 - valid_range_start 表示 fault VA 左侧最近合法地址段的起始地址;Runtime 不根据字段值判断查询结果是否有效。 - 只记录 Clear 之后首次发生的非法缺页;已有记录未 Clear 时,后续缺页不再查询或覆盖记录。 - Query 不消费记录;没有主动 Clear 时,后续仍会查询到原记录。 - 没有 PageFault 记录时,Query 返回 DRV_ERROR_NOT_EXIST。 - Clear 可重复调用;没有记录时执行 Clear 也成功。 - Query/Clear 当前只按 deviceId 定位记录,没有记录 token;Runtime 在 Query 成功后立即 Clear。 ## 变更类型 - [x] 新功能 - [x] 兼容性完善 - [x] 单元测试 ## UT 覆盖 - HAL 封装:覆盖 Query/Clear 的 deviceId、输入输出参数传递、Query 失败返回和 Clear 失败返回,并验证 DRV_ERROR_NOT_SUPPORT 静默降级、不产生 halMemCtl 日志。 - Task error 正向链路:覆盖 task error -> NpuDriver Query -> HAL QUERY -> HAL CLEAR -> 补充日志,并验证同一 ringbuffer 批次只 Query/Clear 一次、Clear 发生在日志打印前。 - Task error 类型与字段:覆盖非 AICore 有效错误仍触发查询、不可处理元素不查询,以及 device、host 和异常 side 的日志格式。 - 无 PageFault 负向场景:正常 AICORE_ERROR 下让真实 NpuDriver/HAL Query 返回 DRV_ERROR_NOT_EXIST,验证原始 AICore 错误日志保留、HAL 仅 Query 一次、Clear 零次,且不打印 Page fault info: 补充日志。 - DeviceAbort:覆盖 A2/A3 terminate 状态确认后 Clear,以及 A5 在 RT_DEVICE_ABORT_POST 回调前 Clear;Clear 失败不改变原 abort 返回结果。 - Stars V1/V2:950 David 定向用例覆盖 Stars V2,910B 定向用例覆盖 Stars V1 公共查询入口。 ## 验证 - runtime_utest_api_david 目标编译通过。 - Driver 不支持、Clear 不支持及无 PageFault 记录三条定向用例执行通过。 - pre-commit run --from-ref origin/master --to-ref HEAD 通过。 - 当前分支基于最新 origin/master(a204645ee),提交前检查结果为 1 ahead / 0 behind。 - 当前容器没有真实 NPU/配套 Driver,真实 PageFault 记录的端到端执行由联合上板验证完成。 ## 影响范围 修改 Runtime task error 上报后的补充诊断、Driver halMemCtl Query/Clear 封装、A2/A3/A5 DeviceAbort 清理及对应 UT;不改变原 task error 的返回码。设计分析文档和本地验证报告不纳入本 PR。 See merge request: cann/runtime!4096 | 7 天前 | |
fix: 修复 src/dfx/adump 和 pkg_inc/dump 下的 pre-commit 告警 (#898) Co-authored-by: Lujialiang<lujialiang4@h-partners.com> # message auto-generated for no-merge-commit merge: !4583 merge fix-issue-898 into master fix: 修复 src/dfx/adump 和 pkg_inc/dump 下的 pre-commit 告警 (#898) Created-by: Lujialiang Commit-by: Lujialiang Merged-by: cann-robot Description: ## 描述 - 修复摘要: 补齐 src/dfx/adump/ 和 pkg_inc/dump/ 范围内的 clang-format pre-commit 告警。前序整改 issue #799 已覆盖一批 src/dfx/adump/adump/** 文件,issue #886 已覆盖 tests/ut/adump/**,本 PR 补齐剩余真实源文件和公共头文件。 - 变更文件: 18 个真实文件(14 个 src/dfx/adump 文件、4 个 pkg_inc/dump 文件)。src/dfx/adump/external/adx_datadump_server.h 为指向 pkg_inc/dump/adx_datadump_server.h 的符号链接,保持原样。 ### Diff 摘要 text 18 files changed, 342 insertions(+), 344 deletions(-) ## 变更类型 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## 关联的Issue https://gitcode.com/cann/runtime/issues/898 ## 如何测试 - 使用仓库 clang-format v16.0.0 对 18 个真实文件执行 --dry-run --Werror,结果通过。 - 远端 Git Hooks Checking:PASSED。 - 本地 Windows 环境未安装 pre-commit 可执行文件,完整 pre-commit、编译和 UT 由 CI /compile 验证。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次仅做 clang-format 排版调整,未修改接口、宏语义、ABI 或业务逻辑。 ## 风险和遗留问题 - 本地无法运行完整 CANN 编译和 UT,等待 PR CI /compile 结果。 See merge request: cann/runtime!4583 | 9 天前 | |
feat: update .pre-commit-config.yaml for mmpa & error_manager Co-authored-by: likun104<likun104@h-partners.com> # message auto-generated for no-merge-commit merge: !3771 merge br_update_pre-commit-config.yaml into master feat: update .pre-commit-config.yaml for mmpa & error_manager Created-by: likun104 Commit-by: likun104 Merged-by: cann-robot Description: # Pull Request ## 描述 为mmpa & error_manager更新“.pre-commit-config.yaml”文件中的配置 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 流水线跑通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3771 | 1 个月前 | |
【PR】: Platform支持kirin在研版本 Co-authored-by: zengjuan<zengjuan2@huawei.com> # message auto-generated for no-merge-commit merge: !4150 merge master into master 【PR】: Platform支持kirin在研版本 Created-by: zengjuan Commit-by: zengjuan Merged-by: cann-robot Description: # Pull Request ## 描述 Platform支持kirin在研版本,完成turing obp算子冒烟测试  ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.编译正常 2.门禁正常 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4150 | 12 天前 | |
【PR】: feat:RuntimeTrack上报Record和Wait关联ID Co-authored-by: shi-qiong<shiqiong3@huawei.com> # message auto-generated for no-merge-commit merge: !4288 merge feature/runtime-track-record-wait-id into master 【PR】: feat:RuntimeTrack上报Record和Wait关联ID Created-by: shi-qiong Commit-by: shi-qiong Merged-by: cann-robot Description: # Pull Request ## 描述 Runtime 下发 Record/Wait 任务时,在 MsprofRuntimeTrack 的扩展区中上报关联信息,供工具根据相同 key 建立 Record/Wait 连线。 主要变更: - 新增 MSprofEventInfo 和 MSprofNotifyInfo,保持 MsprofRuntimeTrack 总大小为 40 Bytes。 - 根据实际业务场景填写 Event ID、Notify ID、Count Event 组合值、Device 地址或 Event* 句柄。 - 对复用 Runtime taskType 的场景进行 Profiling 动态映射,区分普通内存任务、软件 Event、Notify Reset 和 CountNotify。 - 收敛 Event/Notify Record/Wait 的工具侧注册名称,隐藏 DAVID、CAPTURE 等内部实现名称。 - IPC Event 保留独立名称:IPC EVENT RECORD、IPC EVENT WAIT。 - 将 DAVID_EVENT_RESET 注册名称调整为 EVENT_RESET。 - 调整 David 任务上报时序,确保 Count Event 的 countValue 生成后再上报 RuntimeTrack。 - 本次仅在 MsprofRuntimeTrack 中上报新增扩展信息,不修改 MsprofRuntimeTrackV2 数据结构和扩展信息语义。 - 补充 RuntimeTrack 字段填充、taskType 映射、名称注册及版本兼容性单元测试。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 关联需求:AR20260713299885。 ## 如何测试 1. 编译以下目标,均编译通过: - runtime - runtime_utest_api - runtime_utest - runtime_utest_task_david 2. 执行 RuntimeTrack 新增定向用例,共 10 个,全部通过。 3. 执行 ProfilerTest.*,共 171 个用例,全部通过。 4. 执行 ProfilingAgentTest.*,共 13 个用例,全部通过。 5. 执行 David 相关定向用例,共 6 个,全部通过。 6. 执行 git -c core.whitespace=cr-at-eol diff --check,检查通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - Runtime 实际下发的原始 taskType 保持不变,新增类型仅用于 Profiling 上报阶段区分混用场景。 - MsprofRuntimeTrack 和 MsprofRuntimeTrackV2 的结构大小均保持为 40 Bytes。 - MsprofRuntimeTrackV2 不承载本次新增的 Event/Notify 扩展信息。 See merge request: cann/runtime!4288 | 5 天前 | |
fix: 修正头文件注释中的拼写错误(infomation/flase/swtich 等) Co-authored-by: chenyang<2082464740@qq.com> # message auto-generated for no-merge-commit merge: !3927 merge fix_word into master fix: 修正头文件注释中的拼写错误(infomation/flase/swtich 等) Created-by: weixin_51634168 Commit-by: chenyang Merged-by: cann-robot Description: # fix: 修正头文件注释中的拼写错误(infomation/flase/swtich 等) ## 描述 修正代码注释和日志输出中的英文拼写错误,不涉及任何功能逻辑变更。 共修正 16 个文件、36 处拼写问题,主要包括: - infomation → information - flase → false - swtich → switch - ouput → output - adn → and - donot → don't ## 变更类型 - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 本 PR 仅修改注释与日志文本,不改变任何接口、变量名或可执行逻辑: 1. 编译验证:bash build.sh,确认编译通过无告警。 2. 变更均位于注释和字符串字面量中,git diff 逐条确认未触及代码逻辑。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 无 See merge request: cann/runtime!3927 | 1 个月前 | |
refactor: 按产品能力生成 arch5162 Runtime API stub Co-authored-by: zhangpengpeng8<zhangpengpeng8@hisilicon.com> # message auto-generated for no-merge-commit merge: !246 merge master into master refactor: 按产品能力生成 arch5162 Runtime API stub Created-by: zhangpengpeng8 Commit-by: zhangpengpeng8 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 是 Runtime API 产品能力自动打桩方案的第一阶段,只迁移 arch5162,且只包含代码改动。 主要变更: 1. 新增 176 项 Runtime API 签名目录、强 stub 生成器和生成器单元测试。测试位于顶层 tests/ut/runtime/runtime/test/cmake/,并通过 runtime_utest_arch5162 的 CMake 依赖自动执行。 2. 新增 src/runtime/cmake/arch5162_unsupported_runtime_api.def,集中声明 arch5162 的 176 个不支持接口;清单与 arch5162.cmake 同目录维护。 3. runtime_api_stubs.cmake 仅允许 tiny、arch5162 这类端侧独立编译的 libruntime.so 使用;对其他产品名调用会在 CMake 配置阶段直接失败,弱覆盖也只允许用于 SHARED_LIBRARY 目标。host runtime、cmodel、静态库、Windows 和其他芯片形态保持原有源文件选择和强 API provider,不使用该弱覆盖 helper。产品 UT 只复用 .def 生成以验证返回行为。 4. RUNTIME_API_WEAK_REAL_SRC_FILES 改为由 arch5162.cmake 按产品维护:9 份原有真实源保持不变;另外 10 份真实 provider 均有对应的旧手写桩/生成桩,不允许引入没有对应桩接口的源文件。 5. arch5162 动态库通过既有 VISIBILITY_DEFAULT、RTS_API 宏按目标生成弱符号;生成的强 stub 覆盖不支持接口,并通过 function section 与 --gc-sections 回收未选中的弱实现。 6. arch5162 UT 在平台 CMake 中使用同一 .def 生成 stub,不再编译 api_c_stub.cc、api_c_mbuf_stub.cc。 7. 保留 api_c_arch5162.cc 产品特殊强实现;两份手写 stub 文件继续留在仓库中,供尚未迁移的 tiny 使用。 新增弱 provider 与 arch5162 生成桩的映射为:dqs 1、mbuf 17、snapshot 7、soma 7、standard_soc 104、api_c_task.cc 6、uvm 5、xpu 4、api_david.cc 20、api_preload_task.cc 5,合计 176。api_c_standard_soc.cc 额外的 rtMallocCached 由原有 api_c_arch5162.cc 强实现覆盖,不改变 arch5162 行为。 api_david.cc 需要保留在该列表中:文件内 20 个 C API 均对应原 api_c_stub.cc 中的 arch5162 打桩接口,现在全部由 .def 选中强 stub,弱真实函数体会被链接回收。后续若某个接口转为支持,只需从 .def 移除该接口,不再改动源文件集合。 本 PR 不修改方案文档、19 份 api_c_*.cc/api_david.cc/api_preload_task.cc、公共 src/runtime/CMakeLists.txt、runtime.cmake 或 tiny.cmake。 ## 变更类型 - [ ] Bug 修复 - [ ] 新功能 - [ ] 代码风格更新 - [x] 重构 - [x] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 关联的Issue - 最终汇总方案与完整形态:PR4424 - PR4424 需在本 PR 合入后以最新 master 刷新依赖基线。 ## 如何测试 1. python3 -m unittest tests/ut/runtime/runtime/test/cmake/test_generate_runtime_api_stubs.py:7/7 通过;runtime_api_stub_generator_ut 目标及 runtime_utest_arch5162 依赖链均会自动执行并通过该测试。 2. pre-commit:clang-format 与 OAT 通过。 3. PRODUCT=ascend5162a 的 runtime 动态库编译通过;runtime_utest_arch5162 106/106 通过。 4. 默认 runtime 与 tiny 的 CMake 及 API 源文件对比为空,本阶段不改变其他产品。 5. arch5162 provider 审计:176 个清单接口选择强 stub,其余真实接口选择弱实现;动态导出集合相对基线不变。 6. 负向边界验证:以 runtime 产品调用生成/弱 provider helper 时,CMake 按预期拒绝配置。 7. 最新 patchset 9ab9a92c6 本地验证:Python 生成器测试 7/7,runtime_utest_arch5162 编译链接及 106/106 用例通过。 8. 最新 patchset 主流水线 2fc8c29756bb40b6afef449e9a1d99a0 已完成,机器人结果 27/27 SUCCESS(含 UT_Test_rts_common)。 9. 最新 patchset 静态流水线 929c716805ba4eeca76f3948817b197b 已完成,机器人结果 11/11 SUCCESS。 ## 风险与重点 - 已迁移 arch5162 目标的对外真实 API ELF binding 从 GLOBAL 变为 WEAK,需重点关注 ABI 和符号抢占语义。 - 强 stub 必须覆盖不支持接口,且不得错误覆盖产品特殊强实现。 - noinline、function section 和链接 GC 必须同时生效,避免同文件调用绕过覆盖或 SO 体积膨胀。 - 本阶段只改变 arch5162;runtime、tiny 的 CMake、API 源文件和文档差异必须为空。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经详细阅读并遵守贡献指南 ## 其他信息 建议上库顺序: 1. 本 PR:只迁移 arch5162。 2. 后续 PR:只迁移 tiny 的端侧独立动态 libruntime.so;静态库、Windows 和其他产品形态保持原有源选择方式。 3. 最终清理:确认各产品和 UT 均无引用后删除两份手写 stub;runtime 保持原有全量强实现,不创建空 .def 或生成桩。 rtNpuGetFloatStatus 的 1,346 B 弱真实函数与 10 B 强 stub 仅是 section GC 的代表样本,该接口没有特殊迁移规则。 See merge request: cann/runtime!246 | 13 天前 | |
fix: runtime 仓dfx组件代码未进行代码格式化不符合代码规范,需要整改 (#840) Co-authored-by: GuoWenbo<guowenbo13@h-partners.com> # message auto-generated for no-merge-commit merge: !4361 merge fix-issue-840 into master fix: runtime 仓dfx组件代码未进行代码格式化不符合代码规范,需要整改 (#840) Created-by: GuoWenbo Commit-by: GuoWenbo Merged-by: cann-robot Description: ## 描述 - 修复摘要: runtime 仓 dfx 组件代码未进行代码格式化,不符合代码规范,需要按仓内 pre-commit / clang-format 规范整改。 - 变更范围按 /mnt/workspace/.cann_fix/runtime_issue_840_20260819153258/cann-fix-plan.md 的候选修改点汇总,不在 PR 描述中逐文件展开: - src/dfx/log - src/dfx/trace - include/dfx/base/acl_log.h - include/dfx/base/alog_pub.h - include/dfx/base/log_types.h - pkg_inc/base/dlog_pub.h - pkg_inc/base/plog.h - pkg_inc/trace/atrace_pub.h - pkg_inc/trace/atrace_types.h - pkg_inc/watchdog/awatchdog.h - pkg_inc/watchdog/awatchdog_types.h - 文件级清单以计划产物 dfx-log-trace-expanded-files.txt 和 PR Files changed 为准,PR 描述不展开完整清单,避免描述过长。 - Diff 内容不逐文件展示,本次主体为格式化整改;检视反馈补充了文件末尾换行、宏表达式括号、atrace UT 中已有 utrace_arm_utest 目标的顶层依赖入口、stacktrace 覆盖率相关既有 UT 源文件的构建入口,以及线上覆盖率 UT 暴露的 ringbuffer 并发压测用例稳定性、AtraceStackcoreParse 包装层覆盖、atrace UT stub 依赖的 adcore 头文件 include 路径和 x86 ScdThreadsUtest 栈帧用例稳定性。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/runtime/issues/840 ## 如何测试 - 测试结论: 格式化检查和新增覆盖率 focused 验证 PASS;ScdUtilUtest.TestScdPtraceAttach 超时已修复,完整 utrace_utest 不再因该用例超过 300s;线上覆盖率包中暴露的 RraceRbLogUtest 并发压测波动、atrace_stackcore_api.c 0 覆盖、atrace UT adcore_api.h 头文件缺失编译问题,以及 x86 ScdThreadsUtest.TestScdFramesInit/TestScdFramesMemcpyFailed 依赖真实栈展开导致的波动已补充处理。 - pre-commit run --files tests/ut/atrace/ut/utrace/testcase/stacktrace_dumper/scd_threads_utest.cc: PASS - pre-commit run --files tests/ut/atrace/ut/utrace/CMakeLists.txt tests/ut/atrace/ut/trace_server/CMakeLists.txt: PASS - pre-commit run --files tests/ut/atrace/ut/utrace/testcase/trace_rb_log_utest.cc tests/ut/atrace/ut/utrace/testcase/stacktrace_dumper/scd_process_utest.cc: PASS - git diff --check: PASS - cmake --build build --target utrace_arm_utest -- -j8: PASS - cmake --build build --target trace_server_utest -- -j8: PASS - cmake --build build --target utrace_utest -j$(nproc): PASS - build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter='RraceRbLogUtest.TestMsgNumLTBufferSize:RraceRbLogUtest.TestMsgNumEQBufferSize:RraceRbLogUtest.TestMsgNumGTBufferSize' --gtest_repeat=10 --gtest_break_on_failure: PASS - build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter='ScdProcessUtest.TestAtraceStackcoreParse': PASS - build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter=StacktraceDumperBinUtest.*: PASS, 8/8 passed - build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter=ScdUtilUtest.*: PASS, 20/20 passed;TestScdPtraceAttach 约 21-32ms。 - bash tests/build_ut.sh --ut atrace --target utrace_utest --ut_timeout=300: PASS, 296/296 passed, 总耗时 23.855s。 - bash tests/build_ut.sh --ut atrace --target utrace_utest --ut_timeout=300: PASS;本机为 aarch64,x86-only ScdThreadsUtest 不编入本地目标;本次复验生成 UT XML: utrace_utest 296/296 passed, utrace_arm_utest 2/2 passed, trace_server_utest 73/73 passed。 - bash tests/build_ut.sh --ut atrace --target utrace_utest -c --ut_timeout=300: UT 阶段 PASS, 296/296 passed;本地生成 cov/coverage.info,重点文件覆盖率: atrace_stackcore_api.c 100.0%, stacktrace_dumper_bin.c 100.0%, stacktrace_parse.c 61.7%, trace_rb_log.c 90.6%。本地 genhtml 阶段因 /cmd_line 权限问题退出,不影响 UT 通过和 LCOV 数据生成。 - 变更范围核对: 变更文件均在计划范围或检视反馈补充范围内。 - cann-fix/test report 摘要: - 测试日志包含通过信号。 - 测试日志覆盖计划测试项 1 条。 - Problems: (none)。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次变更文件数量较多,PR 描述仅保留计划范围、测试结论和风险说明;完整文件级 diff 请以 PR Files changed 页面为准。 ## 风险和遗留问题 - 风险: 格式化文件数量较多,review 噪声较高。 - 控制: 仅按仓内格式化规则处理计划范围文件,不展开无关模块;通过 pre-commit clang-format 和 git diff --check 校验。 - 遗留问题: 本地 genhtml 阶段存在 /cmd_line 权限问题,已保留 coverage.info 和 UT XML 作为验证证据;线上环境可继续以平台生成的覆盖率 HTML 为准。 See merge request: cann/runtime!4361 | 14 天前 | |
【PR】: precommit pkg_inc and include Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !3730 merge master_clang_pkg_inc into master 【PR】: precommit pkg_inc and include Created-by: duanpengliang Commit-by: duanpengliang 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!3730 | 1 个月前 | |
fix: runtime 仓dfx组件代码未进行代码格式化不符合代码规范,需要整改 (#840) Co-authored-by: GuoWenbo<guowenbo13@h-partners.com> # message auto-generated for no-merge-commit merge: !4361 merge fix-issue-840 into master fix: runtime 仓dfx组件代码未进行代码格式化不符合代码规范,需要整改 (#840) Created-by: GuoWenbo Commit-by: GuoWenbo Merged-by: cann-robot Description: ## 描述 - 修复摘要: runtime 仓 dfx 组件代码未进行代码格式化,不符合代码规范,需要按仓内 pre-commit / clang-format 规范整改。 - 变更范围按 /mnt/workspace/.cann_fix/runtime_issue_840_20260819153258/cann-fix-plan.md 的候选修改点汇总,不在 PR 描述中逐文件展开: - src/dfx/log - src/dfx/trace - include/dfx/base/acl_log.h - include/dfx/base/alog_pub.h - include/dfx/base/log_types.h - pkg_inc/base/dlog_pub.h - pkg_inc/base/plog.h - pkg_inc/trace/atrace_pub.h - pkg_inc/trace/atrace_types.h - pkg_inc/watchdog/awatchdog.h - pkg_inc/watchdog/awatchdog_types.h - 文件级清单以计划产物 dfx-log-trace-expanded-files.txt 和 PR Files changed 为准,PR 描述不展开完整清单,避免描述过长。 - Diff 内容不逐文件展示,本次主体为格式化整改;检视反馈补充了文件末尾换行、宏表达式括号、atrace UT 中已有 utrace_arm_utest 目标的顶层依赖入口、stacktrace 覆盖率相关既有 UT 源文件的构建入口,以及线上覆盖率 UT 暴露的 ringbuffer 并发压测用例稳定性、AtraceStackcoreParse 包装层覆盖、atrace UT stub 依赖的 adcore 头文件 include 路径和 x86 ScdThreadsUtest 栈帧用例稳定性。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/runtime/issues/840 ## 如何测试 - 测试结论: 格式化检查和新增覆盖率 focused 验证 PASS;ScdUtilUtest.TestScdPtraceAttach 超时已修复,完整 utrace_utest 不再因该用例超过 300s;线上覆盖率包中暴露的 RraceRbLogUtest 并发压测波动、atrace_stackcore_api.c 0 覆盖、atrace UT adcore_api.h 头文件缺失编译问题,以及 x86 ScdThreadsUtest.TestScdFramesInit/TestScdFramesMemcpyFailed 依赖真实栈展开导致的波动已补充处理。 - pre-commit run --files tests/ut/atrace/ut/utrace/testcase/stacktrace_dumper/scd_threads_utest.cc: PASS - pre-commit run --files tests/ut/atrace/ut/utrace/CMakeLists.txt tests/ut/atrace/ut/trace_server/CMakeLists.txt: PASS - pre-commit run --files tests/ut/atrace/ut/utrace/testcase/trace_rb_log_utest.cc tests/ut/atrace/ut/utrace/testcase/stacktrace_dumper/scd_process_utest.cc: PASS - git diff --check: PASS - cmake --build build --target utrace_arm_utest -- -j8: PASS - cmake --build build --target trace_server_utest -- -j8: PASS - cmake --build build --target utrace_utest -j$(nproc): PASS - build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter='RraceRbLogUtest.TestMsgNumLTBufferSize:RraceRbLogUtest.TestMsgNumEQBufferSize:RraceRbLogUtest.TestMsgNumGTBufferSize' --gtest_repeat=10 --gtest_break_on_failure: PASS - build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter='ScdProcessUtest.TestAtraceStackcoreParse': PASS - build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter=StacktraceDumperBinUtest.*: PASS, 8/8 passed - build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter=ScdUtilUtest.*: PASS, 20/20 passed;TestScdPtraceAttach 约 21-32ms。 - bash tests/build_ut.sh --ut atrace --target utrace_utest --ut_timeout=300: PASS, 296/296 passed, 总耗时 23.855s。 - bash tests/build_ut.sh --ut atrace --target utrace_utest --ut_timeout=300: PASS;本机为 aarch64,x86-only ScdThreadsUtest 不编入本地目标;本次复验生成 UT XML: utrace_utest 296/296 passed, utrace_arm_utest 2/2 passed, trace_server_utest 73/73 passed。 - bash tests/build_ut.sh --ut atrace --target utrace_utest -c --ut_timeout=300: UT 阶段 PASS, 296/296 passed;本地生成 cov/coverage.info,重点文件覆盖率: atrace_stackcore_api.c 100.0%, stacktrace_dumper_bin.c 100.0%, stacktrace_parse.c 61.7%, trace_rb_log.c 90.6%。本地 genhtml 阶段因 /cmd_line 权限问题退出,不影响 UT 通过和 LCOV 数据生成。 - 变更范围核对: 变更文件均在计划范围或检视反馈补充范围内。 - cann-fix/test report 摘要: - 测试日志包含通过信号。 - 测试日志覆盖计划测试项 1 条。 - Problems: (none)。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次变更文件数量较多,PR 描述仅保留计划范围、测试结论和风险说明;完整文件级 diff 请以 PR Files changed 页面为准。 ## 风险和遗留问题 - 风险: 格式化文件数量较多,review 噪声较高。 - 控制: 仅按仓内格式化规则处理计划范围文件,不展开无关模块;通过 pre-commit clang-format 和 git diff --check 校验。 - 遗留问题: 本地 genhtml 阶段存在 /cmd_line 权限问题,已保留 coverage.info 和 UT XML 作为验证证据;线上环境可继续以平台生成的覆盖率 HTML 为准。 See merge request: cann/runtime!4361 | 14 天前 | |
Initial commit | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 27 天前 | ||
| 14 天前 | ||
| 7 天前 | ||
| 9 天前 | ||
| 1 个月前 | ||
| 12 天前 | ||
| 5 天前 | ||
| 1 个月前 | ||
| 13 天前 | ||
| 14 天前 | ||
| 1 个月前 | ||
| 14 天前 | ||
| 8 个月前 |