昇腾社区首页
中文
注册

简介

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

快速入门

性能调优工具的选择

不同的场景提供了不同的性能调优工具,建议根据实际场景选择对应的工具,如下所示。

msprof命令、MSPTI、服务化调优工具、PyTorch框架接口具备性能数据解析能力,其他工具仅具备性能数据的采集能力,在采集完成后,需要使用msprof命令进行数据解析。

表1 性能工具选择

场景

工具

说明

通用场景

使用msprof命令采集性能数据

使用msprof命令解析与导出性能数据

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

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

通用场景

MSPTI

MSPTI为通用场景接口,使用MSPTI API开发的Profiling分析工具可以在各种框架的推理和训练场景生效。

MindIE Service推理服务化场景

服务化调优工具

使用msServiceProfiler接口,在MindIE Service推理服务化进程中,采集关键过程的开始和结束时间点,识别关键函数或迭代等信息,记录关键事件,支持多样的信息采集,对性能问题快速定界。

PyTorch框架场景

使用PyTorch框架接口采集和解析性能数据

基于PyTorch框架编程时使用。

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

TensorFlow框架场景

使用TensorFlow框架接口采集性能数据

基于TensorFlow框架编程时使用。

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

TensorFlow框架场景

使用环境变量采集性能数据

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

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

图开发场景

使用Ascend Graph接口采集性能数据

昇腾Graph开发时使用。

约束:需要在Ascend Graph编程中调用Profiling相关接口。

MindSpore框架场景

使用MindSpore框架接口采集

基于MindSpore框架编程时使用。

推理场景

使用AscendCL C&C++接口采集性能数据

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

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

推理场景

使用AscendCL Python接口采集性能数据

AscendCL API的Python封装版本。

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

推理场景

使用acl.json配置文件采集性能数据

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

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