1. 概述

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

mcProfiler是一个可视化的GPU性能指标分析工具,提供了一个可定制的、数据驱动的用户界面和度量集合,为开发人员提供GPU核函数详细的性能视图。该工具包含以下功能:

  • 全局视角,包括SOL视角和各个子模块的RoofLine视图

  • 不同分类的性能指标,包括Memory、Computing、Scheduling角度的性能指标

  • 为每个类别进行深层次分析,包括相关模块资源使用情况和详细性能指标等

2. mcProfiler

2.1. 安装

mcProfiler包含在 win-perf-kit 工具包内,是一个Windows上的UI程序,用户解压 mcProfiler 压缩包后,双击 gui-profiler.exe 即可直接使用。

2.2. 使用

2.2.1. 前置要求

mcProfiler主要通过在Windows上执行可视化+Linux上执行实际采样的方式进行作业,方便用户直接使用mcProfiler进行可视化调优。考虑到跨平台的兼容性问题,需要满足以下前置条件:

  • Windows GUI客户端所在的平台,简称为GUI平台:需要对应的网络权限。建议针对GUI程序关闭防火墙拦截。

  • MXMACA程序所在的Linux平台,简称为MXMACA平台:需要开放对应的SSH权限。若使用私钥登录,需要确保用户目录权限(通常为700)以及对应的公钥文件权限(通常为600)正确。

  • 对于被度量的目标程序,需要链接 libmcToolsExt.so 动态库(跟随MXMACA软件包默认安装)以启动调试支持。用户可以在编译目标程序时加上 -lmcToolsExt 链接选项进行链接。

2.2.2. 创建度量任务

_images/create_task.png

图 2.1 采样任务创建

  1. 图 2.1 所示,点击左上角的 +Exec Perf 图标,创建任务。

  2. 在该视图下,用户可以选择需要度量的各项指标,待度量任务的各项设置等。

    其中:

    • 各项指标为多选项,默认全选,用于选择用户所需的度量指标。需要注意,度量指标越多,mcProfiler需要采集和分析的时间越长。

    • Environment Variables 为环境变量设置,用于设置目标程序运行时的MACA_PATH、动态链接库路径等。

    • Command Line 为目标程序的执行命令,支持多条bash语句,用分号(;)隔开。

    • Case Name 为perf任务名称,用于区分任务标识,自定义填写可重复。

    • Remote IP 为远程执行的节点,即MXMACA平台IP地址。

    • Remote Port 为MXMACA节点的SSH端口号。

    • Remote User 为远程执行节点登录时的用户名。

    • Remote Password 为远程执行节点登录时的密码。

    • Run in host/docker 开关用于选择目标任务是否是在容器环境中执行,默认为宿主机环境中执行。

    • Container Name or ID 当目标任务执行在容器环境中时必填,需要填写目标容器名或ID。

  3. 初始设置完成后,点击 Confirm 开始任务。

2.2.3. 执行度量任务

_images/task_info.png

图 2.2 度量任务信息

图 2.2 所示,开始执行后,左侧导航栏会显示任务信息。在任务执行期间,status 状态栏会显示 executing;当任务结束后,status 状态栏会显示 done

在整个任务执行时,当选择多个度量指标(metrics)时,mcProfiler会执行多轮测量,每一轮的执行信息会在 Execute Loop n 标签栏内显示。

2.2.4. 分析度量结果

_images/metrics_example.png

图 2.3 度量分析结果

在任务执行完成后,在左侧导航栏点击 Case Report 栏,可以获取如图 2.3 所示的报告。

2.3. 卸载

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