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.