Oracle® Solaris Studio 12.4:数值计算指南

退出打印视图

更新时间: 2015 年 1 月
 
 

5.5 可再现结果

如《数值计算指南》的 D.11 节中所述,即使符合标准的 IEEE 运算实现也可能会生成不同的结果。通常这些结果都同样有效,但是证明这种情况一般会很繁琐或非常困难。出于多种原因,最好是牺牲一些性能以减少验证结果所需的误差分析数量。输出中的细微差异或重大差异是否同样有效并不明确,而这些差异是由用户程序错误、编译器优化错误还是硬件错误造成的也不明确。

导致 IEEE 浮点运算的结果不同有几种主要根本原因。下面列出了这些原因并描述了一些方法,以便减少在不同发行版之间以及支持的 Oracle Solaris Studio 平台之间出现的这种无故变化。请注意,每种方法在增加可再现性的同时,也有可能会降低性能。有时候性能下降会非常明显。