我目前正在测试几个Linpack应用程序以及netlib.org的原始Linpack。
虽然目前大多数可用的Linpack基准实现只计算给定的矩阵(例如500x500),但原始Linpack旨在为给定的维度n n和n+1计算两个矩阵(例如:如果n是500 ->,那么首先是500x500和501x501),就我所理解的这些东西是如何工作的。但是为什么它要计算第二个n+1的矩阵呢?
当我为pc制作一个版本时,我就想知道这一点(早期的pc具有低分辨率计时器)。这在1996年被Netlib接受,可以在这里找到:
http://www.netlib.no/netlib/benchmark/linpack-pc.c我相信它是在寻找内存地址对齐性能问题,这在某个时候一定很重要。以下是在pc和其他Windows、Linux和android版本(包括Java)上的测试结果。
http://www.roylongbottom.org.uk/linpack%20results.htm此版本不适合多处理器,但允许用户实现自己的线性方程求解器。看到:
http://netlib.org/benchmark/performance.pdf