Gaussian Elimination and LAPACK

The simple routine solveAx.c factors

A = PLU   to solve   Ax = b

using Gaussian elimination with partial pivoting. We compare the performance of this routine to the dgesv linear algebra solver in LAPACK compiled with the Atlas BLAS implementation. Other linear algebra solvers may be found by browing the problem taxonomy at the Guide to Available Mathematical Software website.

The entire project is available in this directory.

Running the benchmark program bench.c yielded the following results:

   Matrix Size      Increase in Performace with LAPACK
       50                         9.8 % 
      100                        32.4 %
      500                       134.8 %
     1000                       204.3 %
     5000                       524.5 %
The performance advantage of using LAPACK increases with larger matrix sizes. This is because LAPACK arranges the calculation to optimize the use of the cache memory which is much faster than main memory. On the other hand, the simple routine is not optimized for the hardware and spends more and more time fetching data from main memory as the matrix sizes get larger.
Last Updated: Sat Sep 27 20:06:45 PDT 2014