精度优化CheckList
进行精度调优之前必须对照表1从上到下逐一检查,以确保不产生遗漏。
检查项 |
x86平台检查标准 |
鲲鹏平台检查标准 |
检查结果 |
---|---|---|---|
代码 |
与鲲鹏的代码MD5值完全一致 |
与x86的代码MD5值完全一致 |
- |
算例及配置 |
与鲲鹏的算例及配置MD5值完全一致 |
与x86的算例及配置MD5值完全一致 |
- |
编译器 |
建议选择ICC 2018或者2021 |
建议选择毕昇3.1或以上版本 |
- |
O0-O1一致 |
分别执行以下2项操作,以规避ICC O3编译问题:
|
- |
|
单线程一致 |
确保进程数一致,确保单线程下鲲鹏结果和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 |
- |
父主题: 简介