LINPACK_BENCH is a benchmark program designed to make it possible to compare computer performance.
The program sets up a random dense matrix A of size N = 1000, and a right hand side vector B which is the product of A and a vector X of all 1's. The first task is to compute an LU factorization of A. The second task is to use the LU factorization to solve the linear system
A * X = B.
The number of floating point operations required for these two tasks is roughly
ops = (2/3) N^3 + 2 N^2therefore, the "MegaFLOPS" rating, or millions of floating point operations per second, can be found as
mflops = ops / ( cpu * 1000000 ).
On a given computer, if you run the benchmark for a sequence of increasing values of N, the behavior of the MegaFLOPS rating will vary as you pass through three main zones of behavior:
Most versions of the program include a parameter called LDA. This parameter, the "leading dimension of A", influences how the matrix A is stored. LDA must be at least equal to N. Its default value is N+1. Changes to LDA can sometimes dramatically improve the performance of the benchmark. This is because it slightly shifts the location of successive entries of a row, which may, in turn, help to avoid memory access delays.
You can go up one level to the HPPC 2008 web page.
Last revised on 19 July 2008.