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. 创建度量任务

图 2.1 采样任务创建
如图 2.1 所示,点击左上角的 +Exec Perf 图标,创建任务。
在该视图下,用户可以选择需要度量的各项指标,待度量任务的各项设置等。
其中:
各项指标为多选项,默认全选,用于选择用户所需的度量指标。需要注意,度量指标越多,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。
初始设置完成后,点击 Confirm 开始任务。
2.2.3. 执行度量任务

图 2.2 度量任务信息
如图 2.2 所示,开始执行后,左侧导航栏会显示任务信息。在任务执行期间,status 状态栏会显示 executing;当任务结束后,status 状态栏会显示 done。
在整个任务执行时,当选择多个度量指标(metrics)时,mcProfiler会执行多轮测量,每一轮的执行信息会在 Execute Loop n 标签栏内显示。
2.2.4. 分析度量结果

图 2.3 度量分析结果
在任务执行完成后,在左侧导航栏点击 Case Report 栏,可以获取如图 2.3 所示的报告。
2.3. 卸载
mcProfiler为纯绿色免安装软件,删除整个 mcProfiler 文件夹,即可卸载。