昇腾社区首页
中文
注册

mstx接口简介

mstx接口是MindStudio提供的一个性能分析接口,它允许用户在应用程序中插入特定的标记,以便在性能分析时能够更精确地定位关键代码区域,具体接口明细请参见表1表2

Kernel直调中的内核调用符场景暂不支持使用mstx接口。

表1 C/C++ mstx接口列表

接口名称

接口说明

msProf工具支持情况

mstxMarkA

标识瞬时事件。

不支持。

mstxRangeStartA

标识时间段事件的开始。

支持。

mstxRangeEnd

标识时间段事件的结束。

支持。

表2 Python mstx接口列表

接口名称

接口说明

msProf工具支持情况

mstxMark

标识瞬时事件。

不支持。

mstx.range_start

标识时间段事件的开始。

支持。

mstx.range_end

标识时间段事件的结束。

支持。

mstx接口的使用

  • msProf工具允许用户通过mstx接口实现特定算子调优的功能,使用mstx接口可以自定义采集代码段范围内或指定关键函数的开始和结束时间点,并识别关键函数或计算API等信息,对性能问题快速定界。
  • 默认情况下mstx接口是不使能的。若用户在应用程序中调用mstx接口后,会根据具体使用场景使能mstx打点功能。例如使用msProf工具进行命令行采集时,可配置--mstx=on使能用户代码程序中使用的mstx API,或通过--mstx-include来用户指定的mstx API,具体请参见命令汇总中的--mstx和--mstx-include参数。
  • mstx当前提供了两种API的使用方式:库文件和头文件,以Link为例:
    • 此样例工程不支持Atlas A3 训练系列产品
    • ${git_clone_path}/samples/operator/ascendc/0_introduction/1_add_frameworklaunch/AclNNInvocation/src/CMakeLists.txt路径下新增库文件libms_tools_ext.so,地址为:${INSTALL_DIR}/lib64/libms_tools_ext.so。
      # Header path
      include_directories(
           ...
          ${CUST_PKG_PATH}/include
      )
      ...
      target_link_libraries( 
          ...
          dl
      )
    • ${git_clone_path}/samples/operator/ascendc/0_introduction/1_add_frameworklaunch/AclNNInvocation/src/main.cpp路径下,将用户程序编译链接dl库,对应的头文件ms_tools_ext.h地址:${INSTALL_DIR}/include/mstx。
      ...
      #include "mstx/ms_tools_ext_h"
      ...
      • ${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包,以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/ascend-toolkit/latest。