中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

Hawkeye鹰眼

工具介绍

在精度调优过程中有着大量的重复插桩动作,hawkeye的推出提高了分析效率。hawkeye是基于GDB(GNU Debugger,汇编语言调试工具)的调试功能开发的,能够自动对函数插桩,递归遍历函数调用,自动记录存在计算差异函数的分析工具。鹰眼下载地址:https://gitee.com/openeuler/hpcrunner/tree/master/software/utils/hawkeye

图1 hawkeye工具流程

约束条件

本工具用到GDB调试功能,且依赖二进制中的符号表。需将分析应用编译选项的优化等级改至-O0,并且增加-g选项。

本工具只支持单线程调试,不支持openMP。

使用指导

下面以wrf-3.4.1应用为例:

  1. 修改编译选项,将优化等级更改为-O0,增加-g,删除-fopenmp、-qopenmp。
  2. 将wrf应用链接到print_md5.o静态库。该静态库包含读写输入值和计算输出MD5的功能。建议将该静态库和wrf.exe放在同目录,也可以自行指定目录。

    修改main/Makefile文件,

    修改前: $(LD) -o wrf.exe $(LDFLAGS) -fopenmp wrf.o ../main/module_wrf_top.o $(LIBWRFLIB) $(LIB)

    修改后: $(LD) -o wrf.exe $(LDFLAGS) -lcrypto print_md5.o wrf.o ../main/module_wrf_top.o $ (LIBWRFLIB) $(LIB)

  3. 将wrf二进制文件算例和hawkeye工具放在同一目录。指定应用名称和主函数文件路径运行hawkeye工具。

    ./hawkeye.sh wrf.exe wrf-3.4.1/dyn_em/solve_em.f90

    图2 hawkeye工具分析结果
分析结果会显示出鲲鹏和x86平台存在计算差异的函数及其路径,为方便开发人员定位,还显示出函数的调用堆栈。图3所示的是保存各个函数具体的MD5值文件的树状图。在图中,开发人员可以查看具体的MD5打印文件,从而进一步分析引起差异的原因。
图3 hawkeye工具保存函数输出MD5值的文件
搜索结果
找到“0”个结果

当前产品无相关内容

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