| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【PR】: add adump ut 90%+ Co-authored-by: newstarzj<zhangjie230@huawei.com> # message auto-generated for no-merge-commit merge: !1953 merge master_ut_adump into master 【PR】: add adump ut 90%+ Created-by: newstarzj Commit-by: newstarzj Merged-by: cann-robot Description: # Pull Request ## 描述 add adump ut 90%+ ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue NA ## 如何测试 UT ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 NA See merge request: cann/runtime!1953 | 1 个月前 | |
fix:data dump更新算子超时时间 Co-authored-by: yring_8<yangrui1@huawei.com> # message auto-generated for no-merge-commit merge: !3177 merge master into master fix:data dump更新算子超时时间 Created-by: yring_8 Commit-by: yring_8 Merged-by: cann-robot Description: # Pull Request ## 描述 问题背景:算子默认超时时间可能比较小(如:300ms),部分场景下做data dump,可能触发Dump算子超时,最终导致模型运行失败。 修改方案:1)使能data dump时,通过rtGetOpExecuteTimeOut接口查询算子超时时间,如果小于最大超时时间(1090922U),则需要修改成最大超时时间,并备份之前的超时时间;2)关闭data dump时,如果修改过算子超时时间,则恢复为之前的超时时间。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 不涉及 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 改小算子默认超时时间,执行datadump,能够正常dump下来数据。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3177 | 4 天前 | |
fix:修复dump文件未完整落盘 Co-authored-by: yring_8<yangrui1@huawei.com> # message auto-generated for no-merge-commit merge: !3159 merge fix-adump-record-dataloss-on-exit into master fix:修复dump文件未完整落盘 Created-by: yring_8 Commit-by: yring_8 Merged-by: cann-robot Description: # Pull Request ## 描述 修复 adump 记录模块在进程退出时的数据丢失问题。 核心方案: 1. 修复AdxDumpRecord未落盘而退出任务的问题:在 UnInit 中通过加锁、设置停止标志、唤醒消费者线程并 join 等待,确保队列中的残留 dump 数据在退出前全部落盘。 2. 修复落盘任务队列存在的竞态问题:Size/IsEmpty没有加锁,需要加锁保护。 3. 修复DumpDfxKernel析构后的竞态问题:如果DumpDfxKernel已析构,不再接收回调。 4. 修复ExceptionDump如果没有任何数据要落盘,则不生成空文件。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> #653 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 执行bash tests/build_ut.sh --ut=adump -c命令,dump的UT测试用例通过。 2. 开启Data Dump,能够正常落盘数据。 3. 使能Dfx Dump,能够正常落盘数据。 4. SK/PyPTO回调不dump数据,则不生成空数据文件。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3159 | 1 天前 | |
【fix】adump: fix device memory leak in CopyHostToDevice error path Co-authored-by: abc1433233<19946720495@163.com> # message auto-generated for no-merge-commit merge: !3082 merge fix-adump-copyhosttodevice-free into master 【fix】adump: fix device memory leak in CopyHostToDevice error path Created-by: abc1433233 Commit-by: abc1433233 Merged-by: cann-robot Description: ## 问题描述 DumpMemory::CopyHostToDevice(src/dfx/adump/adump/impl/dump_memory.cpp)通过 rtMalloc(..., RT_MEMORY_HBM, ...) 申请 **device 内存**,但在 rtMemcpy 失败的 错误处理分支中,错误地使用了 FreeHost(即 rtFreeHost,**host 内存**释放接口) 来释放该 device 指针。 rtFreeHost 不能释放 device 内存:运行时会拒绝该调用并返回错误,已申请的 HBM 不会被回收,因此每次 H2D 拷贝失败都会泄漏一块 device 内存。在长时间运行的训练/ 推理进程中反复 dump,该错误路径累积泄漏,存在导致 OOM 的风险。 ## 根因 本函数疑似复制自同文件的三个相邻函数(CopyHostToHost / CopyDeviceToHost / CopyDeviceToHostEx),但漏改了释放接口: - 那三个函数申请的是 **host** 内存,配 FreeHost 正确; - 唯独 CopyHostToDevice 申请的是 **device** 内存,仍沿用了 FreeHost,导致接口与分配不匹配。 佐证: - 头文件 runtime/mem.h 中,rtMalloc/rtFree 操作 device 内存,rtMallocHost/ rtFreeHost 操作 host 内存,device 与 host 接口需配对使用。 - 调用方 operator_dumper.cpp 在使用本函数返回值时,全程以 FreeDevice 释放, 即上层已将其返回值按 device 内存处理;仅本函数内部错误路径写错。 ## 真机验证(910B3) 编写独立程序申请 256MB device HBM,故意用 rtFreeHost 释放,观察返回码与显存: | 时间点 | HBM 占用 (MB) | 返回码 | | --- | --- | --- | | 基线 | 3429 | — | | rtMalloc 256MB 后 | 3725 (+296) | rtMalloc ret=0x0 | | rtFreeHost(devPtr) 后 | 3726 | **rtFreeHost ret=0x1A1F8(失败)** | | 随后 rtFree(devPtr) | — | rtFree ret=0x0(成功,显存回收) | 结论:rtFreeHost 对 device 指针返回错误码 0x1A1F8 且 256MB 显存未回收,确认存在 泄漏;改用 rtFree 可正常回收,证明该内存本应由 rtFree 释放。 ## 修复 将错误路径的 FreeHost(devMem) 改为 FreeDevice(devMem),使释放接口与 rtMalloc(RT_MEMORY_HBM) 的分配接口匹配。 ## 回归测试 在 dump_memory_utest.cpp 新增用例 Test_CopyHostToDevice_MemcpyFail_ReleaseWithRtFree:mock rtMemcpy 失败, 断言错误路径调用 rtFree 一次、且从不调用 rtFreeHost。 - 在**未修复**代码上运行:用例触发 mockcpp never() 违例并失败 (Invoking an invocation which should never be invoked: method(rtFreeHost))。 - 在**修复后**代码上运行:用例通过,adump UT 全部 604 项用例 PASS。 See merge request: cann/runtime!3082 | 8 天前 | |
【PR】: add adump ut 90%+ Co-authored-by: newstarzj<zhangjie230@huawei.com> # message auto-generated for no-merge-commit merge: !1953 merge master_ut_adump into master 【PR】: add adump ut 90%+ Created-by: newstarzj Commit-by: newstarzj Merged-by: cann-robot Description: # Pull Request ## 描述 add adump ut 90%+ ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue NA ## 如何测试 UT ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 NA See merge request: cann/runtime!1953 | 1 个月前 | |
fix: 适配 Ubuntu 24.04 下 adump 测试编译 Co-authored-by: yring_8<yangrui1@huawei.com> # message auto-generated for no-merge-commit merge: !2599 merge master into master fix: 适配 Ubuntu 24.04 下 adump 测试编译 Created-by: yring_8 Commit-by: yring_8 Merged-by: cann-robot Description: # Pull Request ## 描述 修复 Ubuntu 24.04 环境下 adump 相关 UT/ST 编译问题。 主要变更: - 将测试用例中写入 uint64_t 数组的 -2 改为显式类型转换,避免新编译器对隐式有符号/无符号转换的告警或错误。 - 将 float8/hifloat8 原始字节测试数据数组从 int8_t 调整为 uint8_t,避免 138、200 超出 int8_t 范围导致 narrowing conversion 编译失败。 - 补齐 dump_args_utest.cpp 文件末尾换行。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 在已有构建目录下执行: ```bash cmake --build build --target adump_ut 2. 确认目标构建成功,输出包含: [100%] Built target adump_ut ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次修改仅涉及 adump 测试代码,未修改运行时功能逻辑。 See merge request: cann/runtime!2599 | 30 天前 | |
Initial commit | 6 个月前 | |
Initial commit | 6 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 4 天前 | ||
| 1 天前 | ||
| 8 天前 | ||
| 1 个月前 | ||
| 30 天前 | ||
| 6 个月前 | ||
| 6 个月前 |