1. 概述

本文描述了MXMACA® 软件栈中mcTracer工具的使用方法。

mcTracer主要抓取MXMACA应用程序的活动事件,并将活动事件按照时间序列进行展示。

mcTracer分为两部分,分别是用于采集数据的采样端程序 mcTracer,以及用于显示活动序列的 mcTracer-Viewer

支持抓取的数据类型包括:

  • MXMACA Runtime API,主要是MXMACA软件栈提供的API活动

  • MXMACA Kernel,运行在曦云® 系列GPU上的核函数

  • MCTX,自定义标签段数据

2. mcTracer

2.1. 安装

mcTracer包含在MXMACA软件包内,软件包安装完成后,mcTracer工具位于 /opt/maca/bin 目录下。

2.2. 使用

mcTracer依赖于MXMACA安装包中的 libmcToolsExt.so 动态库(默认跟随MXMACA安装)。

mcTracer是一个Linux命令行工具,遵循如下命令格式:

mcTracer [tracer options] [user program] [user program args]

其中:

  • tracer options 为可选参数,可选参数有:

    • --help:显示帮助信息

    • --debug:mcTracer自身的调试选项,使用后会输出mcTracer的调试信息

    • --odname:自定义输出文件夹名称,默认为当前路径/tracer_out_${timestamp}${timestamp} 为实际的时间戳

    • --name:自定义输出文件的文件名前缀,默认输出文件名为 tracer_out-${pid}.json${pid} 为实际的用户进程pid

    • --mctx:开启自定义标签段数据,开启后在MXMACA内的MCTX API会被追踪

    • --attach:使能attach模式,后跟用户程序pid,支持多次attach,使用 “Ctrl+t” 可以结束单次attach。

      attach模式用于用户自定义tracing用户程序区间数据,该模式需在两个会话窗口使用,一个窗口内执行用户程序,另一个窗口内执行 mcTracer --attach <pid> 有关指令, “Ctrl+t” 需在mcTracer窗口执行用于结束单次attach

  • user program 代表被追踪的用户执行程序。在attach模式下,无需使用该参数,在非attach模式下,该参数为必选

  • user program args 代表被追踪的用户程序自身的参数。在attach模式下,无需使用该参数,在非attach模式下,该参数为必选

以下命令演示了一个为向量加的追踪程序,且向量的宽x高为1024x256:

mcTracer ./vectoradd -vector_width=1024 –vector_height=256

当程序执行完成后,会在当前执行路径下得到 tracer_out_${timestamp} 文件夹(若未使用 --odname 选项)。该目录内包含了mcTracer生成的数据文件 tracer_out-${pid}.json (若未使用 --name 选项)。该文件用于后续在UI客户端内进行活动显示。

2.3. 卸载

mcTracer无特殊卸载需求,卸载曦云系列GPU驱动后,mcTracer会自动卸载。

3. mcTracer-Viewer

3.1. 安装

mcTracer-Viewer包含在 win-perf-kit 工具包内,是一个Windows上的UI程序,用户解压 mcTracer-Viewer 压缩包后即可直接使用。

3.2. 使用

可直接在UI中打开 2.2 使用得到的 tracer_out-${pid}.json 文件。

下图简要说明了mcTracer-Viewer UI的使用方法:

_images/demo.png

图 3.1 mcTracer-Viewer UI使用方法

3.3. 卸载

mcTracer-Viewer为纯绿色免安装软件,删除整个 mcTracer-Viewer 文件夹,即可卸载。