MSPTI调优工具
简介
MSPTI调优工具(MSPTI,MindStudio Profiling Tool Interface)是MindStudio针对Ascend设备提出的一套Profiling API,用户可以通过MSPTI构建针对NPU应用程序的工具,用于分析应用程序的性能。
MSPTI为通用场景接口,使用MSPTI API开发的Profiling分析工具可以在各种框架的推理训练场景生效。
MSPTI主要包括以下功能:
- Tracing:在MSPTI中Tracing是指CANN应用程序执行启动CANN活动的时间戳和附加信息的收集,如CANN API、Kernel、内存拷贝等。通过了解程序运行耗时,识别CANN代码的性能问题。可以使用Activity API和Callback API收集Tracing信息。
- Profiling:在MSPTI中Profiling是指单独收集一个或一组Kernel的NPU性能指标。
MSPTI当前提供使用C开发的一套API以及将C API的功能作为底层逻辑封装的一套Python的API。
产品支持情况
产品 |
是否支持 |
|---|---|
Atlas 350 加速卡 |
√ |
√ |
|
√ |
|
√ |
|
x |
|
x |
使用前准备
msPTI Python API部分的样例依赖于PyTorch框架和torch_npu插件,请确保安装。参见《Ascend Extension for PyTorch》中的“安装PyTorch”。
约束
MSPTI工具不可与任何其他性能数据采集工具同时使用,否则会导致采集的数据丢失。
msPTI样例集
本节提供msPTI各种接口的使用样例,供用户理解使用msPTI接口。
构建样例执行
- 安装CANN软件后,需要以CANN运行用户登录环境,执行source /${install_path}/set_env.sh命令设置环境变量。其中${install_path}为CANN软件安装后文件存储路径,例如:/usr/local/Ascend/cann。 示例如下:
source /usr/local/Ascend/cann/set_env.sh
- 进入样例目录。
msPTI样例代码集成在CANN Toolkit开发套件包中,路径为${install_path}/tools/mspti/samples。
${install_path}请替换为CANN软件安装后文件存储路径。以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/cann。
示例如下:cd ${install_path}/tools/mspti/samples/callback_domain - 执行对应样例目录下的sample_run.sh。
bash sample_run.sh
下表为当前提供的样例介绍:
- Callback API
- Activity API
样例
说明
展示Activity API接口的基本功能,样例展示如何采集Kernel和Memory等数据。
演示Activity API的基本运行,讲述Activity API的基本使用,包括Activity Buffer内存分配,Buffer消费等逻辑。
展示Activity API接口的基本功能,展示如何通过correlationId字段将API和Kernel数据做关联。
演示runtime API下发与Kernel实际执行数据的关联,关联后可以将算子的下发和执行一一对应,方便分析性能瓶颈。
展示msPTI External Correlation功能。
演示msptiActivityPopExternalCorrelationId和msptiActivityPushExternalCorrelationId两接口使用方法,用户可以通过接口将各种API关联到一起,方便回溯函数的调用栈。
展示Activity API接口的基本功能,样例展示如何通过Hccl开关采集通信数据。
展示msPTI控制mstxDomain功能,通过开关控制打点数据是否采集。
用户可以通过msPTI开关实时开关采集打点,减小性能损耗。
- Python API
