矩阵化检查功能用于对可矩阵化片段进行检查,并提供矩阵化修改建议。
对可矩阵化片段进行检查。
devkit advisor matrix-check [-h | --help] {-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]
参数 |
参数选项 |
参数说明 |
---|---|---|
-h/--help |
- |
获取帮助信息。 |
-i/--input |
INPUT_PATH |
必选参数,待扫描的源码文件夹绝对路径。 |
-s/--scan-dir |
SCAN_DIR |
源码文件夹下要扫描的文件或文件夹的相对路径,支持多路径,多路径之间用空格分隔。 |
-b/--build-tool |
make/cmake |
构建工具,默认为make。 |
-c/--cmd |
COMMAND |
源码的构建命令。若命令包含空格,需使用单引号。 -c和-j二者必填一项。 说明:
命令行工具源码构建命令不支持设置变量和export环境变量。 例如:"CFLAGS='-O0 -g';make"或"export CFLAGS='-O0 -g';make"。 |
-j/--compile-command-json |
COMPILE_JSON_PATH |
指定compile_commands.json文件的所在路径,关于如何生成json文件请参见生成json文件。 -c和-j二者必填一项。 |
-o/--output |
OUTPUT_PATH |
扫描报告的存放路径,默认存放在当前执行路径下,报告名称为模块名称_时间戳。 |
-l/--log-level |
0/1/2/3 |
设置日志级别,默认为1。
|
-r/--report-type |
all/html/csv |
扫描报告的格式,默认为all。
|
-p/--optimization |
sme/domain |
必选参数,指定矩阵化优化方法。
|
-m/--module |
compute/memory_access/communication |
指定领域优化方法。
当矩阵化优化选择domain时,领域优化方式至少选择一项。 |
--set-timeout |
- |
任务超时时间,单位为分钟,若执行时间超过超时时间则退出执行。默认无超时时间,任务将持续执行直到结束。 |
此处以扫描“/home/test_code/data”路径下源码,且构建工具为make,构建命令为make,矩阵化优化方式为SME矩阵化和领域优化为例,请根据实际情况进行修改。
1 | devkit advisor matrix-check -i /home/test_code/data -c make -b make -o /home/out/ -p domain,sme -m compute,memory_access,communication |
返回信息如下,并输出报告。
Executing matricization check task, please wait... Current progress: ################################# [100%] Scanned time: 2025/04/07 02:13:03 Configuration: Scan source code path: /home/test_code/data Generate report path: /home/out Generate report type: all Task Timeout Interval: The timeout period is not set. Log level: info Summary: Scanned 11 files, there are 50 suggestions. For the details information, please check: /home/out/matrix-check_20250407021303_ee84.html /home/out/matrix-check_20250407021303_ee84.csv After the project analysis is complete, additional optimization files are generated in /home/out/matrix-check_20250407021303_ee84 Download the optimization files and adapt the project build files. Adapt the project build files to the FFT-SME library, which is located in /home/out/fftm.zip
参数 |
说明 |
---|---|
配置信息 |
显示软件源码文件存放路径。 |
需要修改的源码文件 |
显示存在矩阵化问题,并需要进行修改的源码文件路径等相关信息。 |