已关闭
[Documentation|文档反馈]: 原生实现的 asc.lib.profiling 性能分析器未包含在 API 文档中,且在 op_debug_prof.md 中被完全遗漏 #56
XePWang创建于  9月12日关闭于  9月30日
XePWang
XePWang
9月12日 创建

Thanks for sending an issue! Please fill in the following template to help quickly solve your problem.

Issues Section / 问题文档片段 (Mandatory / 必填)

  1. docs/op_debug_prof.md(第 178-265 行):
    在“使用Ascend PyTorch Profiler采集性能数据”一节中,文档指导用户安装庞大的 PyTorch 和 torch_npu,并使用第三方 API 进行性能采集:
import torch
import torch_npu
...
with torch_npu.profiler.profile(...) as prof:
    ...
  1. 实际源码已实现的 CANN 原生分析工具 python/asc/lib/profiling/(profiler.py、msprof.py、result.py)。

Existing Issues / 存在的问题 (Optional / 选填)

对照华为 CANN 官方《Profiling 工具使用指南》及底层 C 接口规范:

  1. CANN 原生接口:华为 CANN 在 libmsprofiler.so(声明于 <acl/acl_prof.h>)中提供了标准的算子性能采集 C API:aclprofInit, aclprofCreateConfig, aclprofStart, aclprofStop, aclprofDestroyConfig, aclprofFinalize 以及 aclprofAicoreMetrics 枚举。
  2. 源码实现完备:PyAsc 在 python/asc/lib/profiling/msprof.py 中通过 ctypes 原生封装了上述全部 aclprof* 接口;并在 profiler.py 中实现了开箱即用的原生 Profiler 类(支持 start(), stop(), @profile() 上下文管理器及 CSV 结果解析)。这使得开发者在无需依赖 PyTorch 和 torch_npu 插件的轻量纯 Python / 仿真环境下,即可直接进行性能分析。
  3. 文档完全遗漏:
    • 指导性能调优的专注文档 docs/op_debug_prof.md 对项目内置的原生 Profiler 闭口不提,反而引导用户安装第三方插件。
    • docs/python-api/index.md 中完全未收录 asc.lib.profiling。

属于典型的“底层基于 CANN 原生标准开发了优秀功能,但外围文档完全未记录”的脱节情况。

改进建议

  1. 在 docs/op_debug_prof.md 中增设独立章节,介绍如何使用原生的 from asc.lib.profiling import Profiler 进行纯 PyAsc 算子的性能采集、AicoreMetrics 指标配置与结果解析。
  2. 在 docs/python-api/ 中增加 asc.lib.profiling 的接口参考文档,并纳入 index.md。
likedislike
神里绫华的狗神里绫华的狗成员
9月12日 将 wuzhenqing 设为负责人
kong0808成员
9月12日 评论:

您好!感谢关注和需求反馈。
针对只有轻量纯Python/仿真环境下,也想执行算子性能分析的开发者,我们会补充相关资料文档,介绍如何基于项目内置的原生 Profiler ,来进行PyAsc算子的性能采集、AicoreMetrics 指标配置与结果解析。

likedislike
神里绫华的狗神里绫华的狗成员
9月12日 关联了pull request:add runtime and profiling API docs
CANN-robotCANN-robot成员
9月30日 关闭了 issue
CANN-robotCANN-robot成员
9月30日 添加了label:resolved