已关闭
[Requirement|需求建议]: 新增 aclrtGetMemUsageInfo 组件内存排查样例 #1200
Yanxijiu创建于  16 天前关闭于  11 天前
Yanxijiu
Yanxijiu成员
16 天前 创建

Backgroud(背景信息)

需要为 aclrtGetMemUsageInfo 补充具有实际排查目标的单 Device 样例,帮助用户根据组件当前内存占用和峰值确定排查优先级。

Origin(信息来源)

用户提出新增 Runtime7 API 场景样例的需求。

Benefit / Necessity (价值/作用)

通过可配置的每组件阈值,区分当前占用超限、历史峰值超限和阈值内三种报告结果,避免只罗列接口调用。明确组件统计与剩余可分配内存的区别,并提供可运行源码与双语说明。

Design(设计方案)

  • 新增 example/1_basic_features/memory/19_component_memory_triage,包含源码、双语 README、CMake 和运行脚本,仅更新直接父主题导航。
  • 绑定可见 Device 0,查询组件快照;数组填满时扩容重查,最多容纳 256 项,达到保护上限仍填满则失败,避免输出截断的完整报告。
  • 校验组件名称、返回数量、当前占用不大于峰值及当前占用降序关系。以当前占用超限为首要排查依据,否则检查最大峰值;默认阈值分别为 64 MiB、128 MiB。
  • 正常和失败路径均清理 Device 与运行环境;必要清理错误影响退出码。
  • 产品范围为 A2/A3;A5(Ascend 950PR/Ascend 950DT)因目标接口不支持而排除。

已完成本地验证:A3 Ascend910_9362、CANN 9.3.0 编译运行成功;默认参数、1 128、64 1 分别得到 WITHIN_BUDGET、CURRENT_PRESSURE、HISTORICAL_PEAK,并核对报告与实际统计值一致;非法参数和缺失安装变量返回非零退出码。完整 7 个文件的 clang-format/OAT 检查通过,复查无改写,差异空白及 Shell 语法检查通过。A2 未实机验证,远端 CodeCheck 待 PR 流水线核验。

likedislike
YanxijiuYanxijiu成员
16 天前 添加了label:requirement
YanxijiuYanxijiu成员
16 天前 关联了pull request:feat: 新增组件内存排查样例(#1200)
CANN-robotCANN-robot成员
11 天前 关闭了 issue
CANN-robotCANN-robot成员
11 天前 添加了label:resolved