本节提供MSPTI各种接口的使用样例,供用户理解使用MSPTI接口,样例具体说明及目录如下。
构建样例执行
- 安装CANN软件后,使用CANN运行用户进行编译、运行时,需要以CANN运行用户登录环境,执行source ${install_path}/set_env.sh命令设置环境变量。其中${install_path}为CANN软件的安装目录,例如:/usr/local/Ascend/ascend-toolkit。
- 进入样例目录。
MSPTI样例代码集成在Ascend-cann-toolkit包中,路径为${INSTALL_DIR}/tools/mspti/samples。
示例如下:
cd ${INSTALL_DIR}/tools/mspti/samples/callback_domain_mstx
- 执行对应样例目录下的sample_run.sh。
bash sample_run.sh
下表为当前提供的样例介绍:
表1 Callback API样例样例
|
说明
|
产品支持情况
|
callback_domain_mstx
|
展示Callback API功能,可以通过msptiEnableDomain,在runtime API的前后执行Callback操作。
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
|
callback_mstx
|
- 展示Callback与mstx接口相结合功能, 使用Callback API和mstx打点功能,在runtime的Launch Kernel前后打点,采集算子数据。
- 演示Callback中userdata用法,用户可以通过userdata透传配置或者部分运行参数。
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
|
表2 Activity API样例样例
|
说明
|
产品支持情况
|
mspti_activity
|
- 展示Activity API接口的基本功能,样例展示如何采集Kernel和Memory等数据。
- 演示Activity API的基本运行,讲述Activity API的基本使用,包括Activity Buffer内存分配,Buffer消费等逻辑。
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
|
mspti_correlation
|
- 展示Activity API接口的基本功能,展示如何通过correlationId字段将API和Kernel数据做关联。
- 演示runtime API下发与Kernel实际执行数据的关联,关联后可以将算子的下发和执行一一对应,方便分析性能瓶颈。
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
|
mspti_external_correlation
|
- 展示MSPTI External Correlation功能。
- 演示msptiActivityPopExternalCorrelationId和msptiActivityPushExternalCorrelationId两接口使用方法,用户可以通过接口将各种API关联到一起,方便回溯函数的调用栈。
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
|
mspti_hccl_activity
|
展示Activity API接口的基本功能,样例展示如何通过Hccl开关采集通信数据。
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
|
mspti_mstx_activity_domain
|
- 展示MSPTI控制mstxDomain功能,通过开关控制打点数据是否采集。
- 用户可以通过MSPTI开关实时开关采集打点,减小性能损耗。
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
|
表3 Python API样例样例
|
说明
|
产品支持情况
|
python_monitor
|
展示Monitor基本使用方式,通过KernelMonitor、HcclMonitor获取计算算子和通信算子的耗时。
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
|
python_mstx_monitor
|
展示MstxMonitor基本使用方式,用户可以通过Mstx打点采集对应算子(如matmul)耗时。
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
|