Closed
[Documentation|文档反馈]: 原生实现的 asc.lib.profiling 性能分析器未包含在 API 文档中,且在 op_debug_prof.md 中被完全遗漏 #56
XePWangAdd on  Sep 12Closed at  Sep 30
XePWang
XePWang
Sep 12 Create

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
神里绫华的狗神里绫华的狗Collaborators
Sep 12 Assign wuzhenqing as responsible person
kong0808Collaborators
Sep 12 Comments:

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

likedislike
神里绫华的狗神里绫华的狗Collaborators
Sep 12 Associated pull request
CANN-robotCANN-robotCollaborators
Sep 30 Close issue
CANN-robotCANN-robotCollaborators
Sep 30 Added label: resolved