亲和分析功能介绍
支持软件代码质量检查,提升代码质量、优化访存性能。
- 多模块并发时,不支持同时设置不同的日志级别。
- 安装并使用工具后,如果移动工具位置,会出现日志配置文件读取错误,需要重新安装工具或将工具移动到原来的位置才能继续使用。
前提条件
- 已参照安装工具安装亲和分析工具。
- 使用压缩包安装工具时,请解压后切换至工具目录使用,采用./方式执行命令,例如./devkit advisor -v。使用RPM包安装工具时,可直接执行命令,例如devkit advisor -v。本章示例均为RPM包安装使用。
命令功能
查看亲和分析支持任务的帮助信息。
命令格式
1 | devkit advisor [-h|--help] TASK [ARGS] |
使用示例
执行以下命令,查看所有命令参数说明。
1 | devkit advisor -h |
返回信息如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Usage: devkit advisor [-h|--help] TASK [ARGS] The most commonly used devkit advisor sub tasks are: run-mode Run the 64-bit running mode check task. addr-align Run the address alignment of the structure task. cacheline Run the cache line alignment check task. bc-gen Run the bc file generation task. mm-check Run the memory mode check task. vec-check Run the vectorization check task. affi-check Run the affinity check task. matrix-check Run the matricization check task. dr-check Run the data race check task. precision Run the precision analysis task. knet Run the K-NET analysis tools task. See 'devkit advisor TASK -h/--help' for more information on a specific task. |
子命令 |
功能 |
说明 |
支持平台 |
|---|---|---|---|
run-mode |
64位运行模式检查就是将GCC4.8.5~GCC10.3.0版本原32位的应用迁移到64位平台上,进行迁移检查并给出修改建议。 |
鲲鹏、香橙派Kunpeng Pro |
|
addr-align |
字节对齐检查就是在需要考虑字节对齐时,检查源码中结构体类型变量的字节对齐情况。 |
||
bc-gen |
BC文件生成 |
BC文件用于内存一致性检查和向量化检查。 |
|
mm-check |
内存一致性静态检查 |
采用静态检查模式检查C/C++源码在鲲鹏平台运行时是否存在内存一致性问题,并提供内存一致性的检测结果与插入内存屏障的建议。 |
|
vec-check |
向量化检查功能用于对可向量化片段进行检查,并提供向量化修改建议。 |
||
matrix-check |
矩阵化检查功能用于对可矩阵化片段进行检查,并提供矩阵化修改建议。 |
||
affi-check |
构建亲和功能用于分析makefile、CMakeLists.txt中可以替换鲲鹏加速库的内容,并提供替换建议和功能修复。 |
||
cacheline |
缓存行对齐检查是对C/C++源码中结构体变量进行128字节对齐检查,提升访存性能。 |
||
dr-check |
内存一致性动态检查 |
采用动态检查模式检查C/C++源码在鲲鹏平台运行时是否存在内存一致性问题,并提供内存一致性的检测结果与插入内存屏障的建议。 |
|
precision |
计算精度分析工具用于定位x86和鲲鹏指令引起的Fortran、C/C++语言精度差异问题。 |
鲲鹏、x86、香橙派Kunpeng Pro |
|
knet |
提供鲲鹏网络检测和分析功能,采集网络协议栈的时延数据,分析网络性能瓶颈。 |