鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

矩阵化检查

矩阵化检查功能用于对可矩阵化片段进行检查,并提供矩阵化修改建议。

命令功能

对可矩阵化片段进行检查。

命令格式

devkit advisor matrix-check {-i INPUT_PATH | --input INPUT_PATH} [-s SCAN_DIR | --scan-dir SCAN_DIR] [(-b{make, cmake} | --build-tool {make,cmake}) & (-c COMMAND | --cmd COMMAND)] | [-j COMPILE_JSON_PATH | --compile-command-json COMPILE_JSON_PATH] [-o OUTPUT_PATH | --output OUTPUT_PATH] [-r {all,html,csv} | --report-type {all,html,csv}] [-p {sme,domain} | --optimization {sme,domain}] [-m {compute,memory_access,communication} | --module {compute,memory_access,communication}] [-l {0,1,2,3} | --log-level {0,1,2,3}] [--set-timeoutTIMEOUT]

参数说明

表1 参数说明

参数

参数选项

参数说明

-h/--help

-

获取帮助信息。

-i/--input

-

待扫描的源码文件夹绝对路径。

-s/--scan-dir

-

源码文件夹下待扫描的文件或文件夹的相对路径。

-b/--build-tool

make/cmake

构建工具,默认为make。

-c/--cmd

-

源码的构建命令。若命令包含空格,需使用单引号。

-c和-j二者必填一项。

-j/--compile-command-json

-

指定compile_commands.json文件的所在路径,关于如何生成json文件请参见生成json文件

-c和-j二者必填一项。

-o/--output

-

扫描报告的存放路径,默认存放在当前执行路径下,报告名称为特性名称_时间戳。

-l/--log-level

0/1/2/3

设置日志级别,默认为1。
  • 0:日志级别为DEBUG。
  • 1:日志级别为INFO。
  • 2:日志级别为WARNING。
  • 3:日志级别为ERROR。

-r/--report-type

all/html/csv

扫描报告的格式,默认为all。

  • all:生成HTML、CSV两种格式报告。
  • html:生成HTML格式报告。
  • csv:生成CSV格式报告。

-p/--optimization

sme/domain

指定矩阵化优化方法,必选参数。

  • sme:SME矩阵化,包括Stencil、GEMV和FFT。
  • domain:领域优化,必须与-m选项同时使用。

-m/--module

compute/memory_access/communication

指定领域优化方法。

  • compute:计算优化,包括数学恒等变换、消除冗余公共算子、单位阶跃计算优化、精度一致除转乘、查找算法领域优化、归约计算并行化、制导语句优化、sin/cos算子融合、exp计算化简和循环合并。
  • memory_access:访存优化,即超大数据降维优化。
  • communication:通讯优化,即通信隐藏优化。

--set-timeout

-

任务超时时间,单位为分钟,若执行时间超过超时时间则退出执行。默认无超时时间,任务将持续执行直到结束。

SME矩阵化和领域优化对应的优化技术含义请参见矩阵化检查章节。

使用示例

此处以扫描/home/advisor/project路径下源码,且构建工具为make,构建命令为make为例,请根据实际情况进行修改。

devkit advisor matrix-check -i /home/advisor/project -c make -b make
返回信息如下,并输出报告。
Executing the matricization task, please wait...
Current progress: 
Scanned time: 2024/05/17 06:17:34

Configuration:
     Scan source code path: /home/advisor/project
     Generate report path: /home/DevKit_Software
     Generate report type: all
     Task Timeout Interval: The timeout period is not set.
     Log level: info

Summary:
    Scanned 0 files, there are 0 sugguestions.

For the detailed information, please check
    /home/DevKit_Software/matrix-check_20240229024448_4d53.html
    /home/DevKit_Software/matrix-check_20240229024448_4d53.csv 

输出报告说明

表2 构建亲和输出报告参数说明

参数

说明

配置信息

显示软件源码文件存放路径。

需要修改的源码文件

显示存在矩阵化问题,并需要进行修改的源码文件路径等相关信息。