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

亲和分析功能介绍

支持软件代码质量检查,提升代码质量、优化访存性能。

  • 多模块并发时,不支持同时设置不同的日志级别。
  • 安装并使用工具后,如果移动工具位置,会出现日志配置文件读取错误,需要重新安装工具或将工具移动到原来的位置才能继续使用。

前提条件

  • 已参照安装工具安装亲和分析工具。
  • 使用压缩包安装工具时,请解压后切换至工具目录使用,采用./方式执行命令,例如./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.
表1 功能说明

子命令

功能

说明

支持平台

run-mode

64位运行模式检查

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

链路时延检测

提供鲲鹏网络检测和分析功能,采集网络协议栈的时延数据,分析网络性能瓶颈。