---
title: 计算精度分析
description: "精度分析工具对应用函数插桩后，分别在x86平台和鲲鹏平台运行，最终通过对比输出结果，分析平台计算精度差异。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/devkit_24/usermanual/DevKit_Affinity_0011.html
sourcePath: /source/zh/kunpengdevkithistory/devkit_24/usermanual/DevKit_Affinity_0011.html
indexId: 8a6f611debfe25176770e6b047c111b3e5d5bfbb5b863ff537dcbbbb8e3845af78
---
# 计算精度分析

精度分析工具对应用函数插桩后，分别在x86平台和鲲鹏平台运行，最终通过对比输出结果，分析平台计算精度差异。

#### 前提条件

- 已经成功登录鲲鹏DevKit。
- 应用可以在x86平台和鲲鹏平台运行成功。
- 工具兼容性：
  CPU：Kunpeng-920；OS：Kylin Linux Advanced Server V10 (Sword)；glibc版本：glibc.aarch64-2.28-49.p02.ky10

  CPU：Kunpeng-920；OS：openEuler 20.03 (LTS-SP3)；glibc版本：glibc.aarch64-2.28-84.oe1


#### 操作步骤

1. 在页面左侧，“亲和分析”下拉选项中选择“计算精度分析”，根据界面内容进行操作或参照本章节亦可完成精度分析任务。
2. 获取鲲鹏版本和x86版本的精度分析工具悟合及配置文件config_template.ini(https://gitee.com/openeuler/hpcrunner/tree/master/software/utils/cruiser)。
3. 使用精度分析工具悟合，在鲲鹏平台上完成MAIN模式的源码插桩。

  a. 将工具、配置文件及源码上传到远程服务器。
  b. 根据文件提示修改并填写配置文件中第3、11、27行的对应值。
  c. 在远程服务器工具及配置文件目录下，执行以下命令完成对源码的自动插桩。
    1 ./cruiser --config ./config.ini

4. 将插桩后的源码分别在x86平台和鲲鹏平台上编译运行，编译运行前连接动态库libcruiser.so，生成中间日志文件。若源码为C/C++语言，则源码中需要引入头文件cruiser.h。
  libcruiser.so和cruiser.h文件可从工具仓(https://gitee.com/openeuler/hpcrunner/tree/master/software/utils/cruiser)中根据对应平台（kunpeng/x86）获取libcruiser-2.2.0-xxx.tar.gz解压获得。 编译应用时链接libcruiser.so 在链接时加入选项：-L${DUMP_HOOK_PATH} -lcruiser -lcrypto 若编译器版本为GNU且版本低于4.5，需要额外指定：-lm 若源码为C/C++语言，需额外追加头文件地址：-I/path/to/cruiser/include

5. 使用精度分析工具悟合，在鲲鹏平台上完成LOG模式的源码插桩。

  a. 将两份日志文件上传至进行插桩的远程服务器。
  b. 根据文件提示修改并填写配置文件中第3、5、7、27行的对应值。
  c. 在远程服务器工具及配置文件目录下，执行以下命令完成对源码的自动插桩。
    1 ./cruiser --config ./config.ini

6. 将插桩后的源码分别在x86平台和鲲鹏平台上编译运行，编译运行前连接动态库libcruiser.so ，生成可用于精度分析的文件。若源码为C/C++语言，则源码中需要引入头文件cruiser.h。
  libcruiser.so和cruiser.h文件可从工具仓(https://gitee.com/openeuler/hpcrunner/tree/master/software/utils/cruiser)中根据对应平台（kunpeng/x86）获取libcruiser-2.2.0-xxx.tar.gz解压获得。 编译应用时链接libcruiser.so 在链接时加入选项：-L${DUMP_HOOK_PATH} -lcruiser -lcrypto 若编译器版本为GNU且版本低于4.5，需要额外指定：-lm 若源码为C/C++语言，需额外追加头文件地址：-I/path/to/cruiser/include

7. 获取精度分析结果文件，并进行精度对比分析。
  图1 对比精度结果报告
