Paul Hinker's Weblog
Thursday Oct 13, 2005
Performance Comparisons of Popular BLAS implementations
Historically, it's been hard to compare the performance of Perflib with competing libraries on SPARC hardware. For one, there were few, credible competitors. Sure, you could download the netlib source code, compile with optimization, and use the resulting library but you would be quite disappointed with the result. The routines which do the heavy lifting for the entire library (xGEMM, xAXPY, xDOT, xGEMV) would not perform anywhere near the machine peak and this poor performance would effect the performance of virtually the entire library.A couple clever fellows developed the Automatically Tuned Linear Algebra Software (ATLAS) system which addresses many of the problems. You can get all the gory details here but the big idea is that a series of scripts, automatic code generators, and some hand-written kernels could produce a very usable BLAS/LAPACK library.
Another clever fellow at the University of Texas by the name of Goto has produced some respectable BLAS implementations which used to be freely available. On certain platforms, this small number of routines turns in some really respectable performance. His homepage claims that "The GotoBLAS codes are currently the fastest implementations of the Basic Linear Algebra Subroutines (BLAS). I'll present some data and let the reader draw their own conclusions.
These performance numbers were gathered from a 1.5 Ghz UltraSPARC IV+ machine.



In the next couple days, I'll post additional performance numbers for SPARC and Opteron hardware. There are more competitors for the commodity hardware (i.e. Opteron) and I'll present some comparisons between Goto, Atlas, Perflib, Acml.
Of course, the previous plots are the standard 100-1000 by steps of 100 which are nice because they're easy to produce but they're mostly worthless since I've yet to see a benchmark or application which calls these routines in this manner. Future entries will present some of the application specific comparisons which I alluded to in previous posts.
Posted at 11:12PM Oct 13, 2005 by hinkthink in General |

