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.