确定性计算在具有相同架构的不同CPU的计算机上运行时可能会产生不同的结果吗?

问题描述 投票:0回答:1

我试图找出不同硬件上的长时间计算结果不一致的根源。一些计算机产生结果 A,另一些计算机产生结果 B。

假设所有其他环境细节(其他硬件、Linux 内核版本、glibc 版本、编译器设置等)都相同,具有相同架构(在我的例子中为 x86_64)的不同 CPU 的计算机是否可能会产生不同的结果相同的确定性计算?

cpu reproducible-research
1个回答
0
投票

如果我们假设所有其他环境细节都是相同的(实际上从来没有这种情况,我强烈建议寻找那里的差异),那么发生这种情况的唯一原因是由于硬件或软件错误。

硬件错误的一个例子是 Pentium FDIV bug (Wikipedia)。

软件错误的一个例子是有缺陷的 SIMD 感知代码,只有在检测到支持 SIMD 的 CPU 时才会执行该代码,而如果未检测到支持 SIMD 的 CPU,则会执行一些速度较慢、传统但正常工作的代码。

© www.soinside.com 2019 - 2024. All rights reserved.