LINPACK_BENCH
The LINPACK Benchmark


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^2
therefore, 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.

Source Code:

Reference:

  1. http://www.netlib.org/benchmark/1000s the LINPACK benchmark website (single precision).
  2. http://www.netlib.org/benchmark/1000d the LINPACK benchmark website (double precision).


You can go up one level to the HPPC 2008 web page.

Last revised on 19 July 2008.