linpack 在不同的处理器上有不同的残差,这正常吗?为什么会这样?

linpack 在不同的处理器上有不同的残差,这正常吗?为什么会这样?

这是在不是超频。背景,与问题不太相关:

当我组装一台新电脑时,处理器的针脚略微弯曲,因此无法插入插槽。当我试图将它们弯回去时,其中一个针脚断了,所以我准备报废处理器 - 直到我检查了引脚排列,上面说它是一个 GND 针脚,在同一个处理器区域有更多 GND 针脚。所以我希望一切顺利,启动了整个系统,它启动了,运行 memtest86+ 没有问题,运行 prime95 超过 12 小时没有问题,我想再做一次压力测试,运行 linpack。Linpack 说通过,残差不为零,这让我怀疑处理器是否正常 - 所以我也在各种不同的 CPU 上启动了 linpack。它们都有不同的残差,这让我怀疑不同的处理器的 FPU 单元是否真的存在差异。

我在各种不同的 AMD Ryzen 处理器上运行了 linpack。这是来自 linpack-xtreme-1.1.5、sha256sum 的 AuthenticAMD 二进制文件5d44f82f82ec4b407c9694d2561e43b3a390f35c15abdaa675f37d5db6ea90bd AuthenticAMD。每次我都使用相同的设置(方程式/数组大小 40000)。

在各个过程中,残差是相同的,但在处理器之间,它们略有不同:

AMD Ryzen 5 5600X 6 核处理器:

40000 40000 4 196.902 216.7063 1.309223e-09 2.911756e-02 pass

AMD Ryzen 7 3800X 8 核处理器:

40000 40000 4 176.901 241.2073 1.359319e-09 3.023172e-02 pass

AMD Ryzen 5 1600 六核处理器:

40000 40000 4 556.984 76.6088 1.443074e-09 3.209446e-02 pass

这些不同的原因可能是什么?这些处理器的 FPU 单元真的有差异吗?从旧处理器到新处理器来看,错误似乎略有减少,这可能意味着 AMD 修复了一些极端情况,从而获得了略好的结果,但他们真的这样做了吗,以牺牲不同处理器代的计算可重复性为代价?

相关内容