中文
注册

计算精度分析

精度分析工具悟合对应用函数插桩后,分别在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
  3. 使用精度分析工具悟合,在鲲鹏平台上完成MAIN模式的源码插桩。
    1. 将工具、配置文件及源码上传到远程服务器。
    2. 根据文件提示修改并填写配置文件中第3、11、27行的对应值。
    3. 在远程服务器工具及配置文件目录下,执行以下命令完成对源码的自动插桩。
      1
      ./cruiser --config ./config.ini
      
  4. 将插桩后的源码分别在x86平台和鲲鹏平台上编译运行,编译运行前连接动态库libcruiser.so,生成中间日志文件。若源码为C/C++语言,则源码中需要引入头文件cruiser.h。
    • libcruiser.so和cruiser.h文件可从工具仓中根据对应平台(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模式的源码插桩。
    1. 将两份日志文件上传至进行插桩的远程服务器。
    2. 根据文件提示修改并填写配置文件中第3、5、7、27行的对应值。
    3. 在远程服务器工具及配置文件目录下,执行以下命令完成对源码的自动插桩。
      1
      ./cruiser --config ./config.ini
      
  6. 将插桩后的源码分别在x86平台和鲲鹏平台上编译运行,编译运行前连接动态库libcruiser.so ,生成可用于精度分析的文件。若源码为C/C++语言,则源码中需要引入头文件cruiser.h。
    • libcruiser.so和cruiser.h文件可从工具仓中根据对应平台(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 对比精度结果报告
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词