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

精度优化CheckList

进行精度调优之前必须对照表1从上到下逐一检查,以确保不产生遗漏。

表1 精度调优checkList

检查项

x86平台检查标准

鲲鹏平台检查标准

检查结果

代码

与鲲鹏的代码MD5值完全一致

与x86的代码MD5值完全一致

-

算例及配置

与鲲鹏的算例及配置MD5值完全一致

与x86的算例及配置MD5值完全一致

-

编译器

建议选择ICC 2018或者2021

建议选择毕昇3.1或以上版本

-

O0-O1一致

分别执行以下2项操作,以规避ICC O3编译问题:

  • 扫描编译配置,将所有的O3或Ofast修改为O0,运行一次,对比x86与鲲鹏2个平台的结果是否完全一致。如果不一致,则表明出现了ICC O3编译器问题;如果一致,表明此项check正常,可以开始下一个检查项。
  • 扫描编译配置,将所有的O3或Ofast修改为O1,运行一次,对比x86与鲲鹏2个平台的结果是否完全一致。如果不一致,则表明出现了ICC O3编译器问题;如果一致,表明此项check正常,可以开始下一个检查项。

-

单线程一致

确保进程数一致,确保单线程下鲲鹏结果和x86完全一致,以规避多线程精度问题

-

编译选项

O3 -fp-model=precise

-no-ftz -init=zero -init=arrays

禁选:Ofast -ftz

O3 -faarch64-pow-alt-precision=21 -enable--alt-precision-math-functions km_l9 -Hx,124,0xc00000 -ffp-contract=off -finit-zero -mllvm -disable-sincos-opt -MflushZ

禁选:Ofast -ftz

-

数学库

IMF

KML_L9最新版

-

MPI库

Intel MPI

HMPI最新版

-

MPI规约算法

-genv I_MPI_ADJUST_ALLREDUCE=1

-x UCX_BUILTIN_ALLREDUCE_ALGORITHM=1

-