下载
EN
注册

简介

进行性能调优时,可以使用性能调优工具来采集和分析运行在昇腾AI处理器上的AI任务各个运行阶段的关键性能指标,用户可根据输出的性能数据,快速定位软、硬件性能瓶颈,提升AI任务性能分析的效率。

为方便用户使用,本文提供了多种性能数据采集方式,如图1所示,下面从便捷性角度给出选取建议:

图1 性能分析总体流程
性能数据采集 使用TensorFlow框架接口采集 使用AscendCL API采集 性能数据采集 使用pyACL API采集 使用环境变量采集 使用acl.json配置文件采集 使用Ascend Graph API采集 使用PyTorch框架接口采集 性能数据解析与导出(msprof命令) 性能数据解析与导出(msprof.py脚本)
表1 采集方式的选择

采集方式

说明

msprof命令行工具

msprof命令行工具不仅可以解析采集到的性能数据,且提供了完整的性能数据采集能力(更多的数据类型)。

推荐使用msprof命令行工具完成性能分析全过程。

使用PyTorch框架接口采集

基于PyTorch框架编程时使用。

约束:仅支持训练和在线推理场景且需要在AI框架编程时调用Profiling相关代码。

使用TensorFlow框架接口采集

基于TensorFlow框架编程时使用。

约束:仅支持训练和在线推理场景且需要在AI框架编程时调用Profiling相关代码。

使用AscendCL API采集

最灵活的Profiling数据采集方案,提供定制化的性能数据采集能力。

约束:仅支持离线推理场景且需要在应用程序中调用Profiling相关接口。

使用pyACL API采集

AscendCL API的Python封装版本。

约束:仅支持离线推理场景且需要在应用程序中调用Profiling相关接口。

使用Ascend Graph API采集

昇腾Graph开发时使用。

约束:仅支持训练和在线推理场景且需要在Ascend Graph编程中调用Profiling相关接口。

使用acl.json配置文件采集

配置文件方式,支持Profiling与其他组件的统一配置。

约束:仅支持离线推理场景且需要修改配置文件。

使用环境变量采集

通过设置特定的环境变量控制Profiling,Profiling配置可以迁移到不同的训练或在线推理的环境变量脚本中执行。

约束:仅支持训练和在线推理场景。

  • 如果当前环境未安装Ascend-cann-toolkit开发套件包,则无法使用msprof命令。
  • 在上图给出的使用流程中,需要注意,当用户使用msprof命令行或使用PyTorch框架接口采集性能数据后,无需使用msprof进行数据解析,这是因为这两种方式在采集后可自动解析;其余采集方式,在采集完成后,需要使用msprof工具进行数据解析。