---
title: 亲和分析功能介绍
description: "支持软件代码质量检查，提升代码质量、优化访存性能。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/development/affinityanalyzer/KunpengDevKitCli_0018.html
sourcePath: /source/zh/kunpengdevps/development/affinityanalyzer/KunpengDevKitCli_0018.html
indexId: 001bbf9b267625c5b8dbdb54689cc8c0edde568ceda39761028e8e0c12dc467e79
---
# 亲和分析功能介绍

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

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


#### 前提条件

- 已安装亲和分析工具。
- 使用压缩包安装工具时，请解压后切换至工具目录使用，采用./方式执行命令，例如./devkit advisor -v。使用RPM包安装工具时，可直接执行命令，例如devkit advisor -v。本章示例均为RPM包安装使用。


#### 命令功能

查看亲和分析支持任务的帮助信息。


#### 命令格式

```
devkit advisor [-h|--help] TASK [ARGS]
```


#### 使用示例

执行以下命令，查看所有命令参数说明。

```
devkit advisor -h
```

返回信息如下：

```
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位平台上，进行迁移检查并给出修改建议。 | 鲲鹏 |
| 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 |
| knet | 链路时延检测 | 提供鲲鹏网络检测和分析功能，采集网络协议栈的时延数据，分析网络性能瓶颈。 | 鲲鹏、x86 |


关于链路时延检测的参数说明、详细使用方式等请参见链路时延检测（CLI）(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/profiler/profiler/KunpengDevKitCli_0109.html)。
