reproducibility

面向英特尔® 至强融核™ 协处理器(和英特尔® 至强® 处理器)架构应用的浮点计算 R2R 再现性

 

问题

如果在相同处理器上针对相同输入数据重新运行相同的程序,得到的结果相同吗?

串行代码

串行代码浮点运算结果的差异的唯一已知来源是由外部环境更改引发的数据调整。 例如,用户动态分配了一个包含日期的新字符串。 该字符串的大小随一年中的月份或周的日期而不同,因此需要对分配的日期进行后续调整。 调整范围决定着哪些循环迭代是循环开头或循环结尾(remainder loop)的组成部分,以及哪些是矢量化内核的组成部分。 这反过来影响浮点约分运算的顺序;按照指定精度对不同直接结果执行舍入处理可缩小最终结果的差异范围。 开头、结尾和内核之间的优化不同可得出相似的差异范围。 这些差异范围可通过以下两个方式预防:

1)      通过调整在运行时间分配的任何数据。 对于 C/C++ 编程,可使用经过调整的 malloc/calloc/free 版本等等,例如 _mm_malloc() 和 _mm_free() 或 Posix 类型。 对于 Fortran 编程,!DIR$ ATTRIBUTES ALIGN:64 :: 阵列指令,或命令行交换 -align array64byte (推荐)。 数据调整为 64 位边界也具有性能优势。

  • Desenvolvedores
  • Apple OS X*
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • C/C++
  • Fortran
  • Compilador C++ Intel®
  • Composer XE C++ Intel®
  • Intel® Composer XE
  • Compilador Fortran Intel®+
  • Composer XE Fortran Intel®
  • Intel® Parallel Composer
  • Composer XE Visual Fortran Intel®
  • floating-point
  • reproducibility
  • Arquitetura Intel® Many Integrated Core
  • Consistency of Floating-Point Results using the Intel® Compiler

    Why doesn’t my application always give the same answer? Tradeoffs between floating-point accuracy, reproducibility and performance are discussed with examples;recommendations are made for improving reproducibility while limiting the impact on performance. Updated for Intel Composer XE 2015.
  • Desenvolvedores
  • Apple OS X*
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • C/C++
  • Fortran
  • Compilador C++ Intel®
  • Compilador Fortran Intel®+
  • Intel® Parallel Composer
  • floating-point
  • reproducibility
  • consistency
  • Getting reproducible results with Intel® MKL

    This article discusses the underlying reasons for inconsistent results, the mechanisms that cause the variations in Intel MKL, and some ways to improve chances for getting bit to bit correspondence in certain cases.
  • Biblioteca kernel de matemática Intel®
  • reproducibility
  • bit to bit correspondence
  • consistent results
  • insconsistent
  • Assine o reproducibility