Southern Man

Wednesday, August 11, 2010

Parallel Computing Workshop, Day 3

The workshop only ran a half-day today (so we were out after lunch) but it was a good one - math packages and benchmarking! Southern Man has fond (and not so fond) memories of the many, many hours in grad school working with LINPACK and was delighted to see that it was still around, abiet by a different name. We downloaded and installed and ran all manner of math packages and used them for performance benchmarks, running different numbers of processors and threads and it was all great fun. Southern Man briefly had the supercomputer working at about 70% of its theoretical maximum performance for a good two minutes and consumed more computing cycles than were used during the entire moon program, just for fun.

For you math geeks, most modern linear-algebra packages are built on BLAS, which is short for Basic Linear Algebra Subprograms and on ATLAS, the Automatically Tuned Linear Algebra System that is sits on top of BLAS and figures out how to make it run really, really fast. Rather than ATLAS, we used a package called "Goto BLAS" which is named not for the notorious unrestricted branch instruction of many high-level languages but for the Japanese scientist who developed it. The most interesting aspect of Mr. Goto's work is that he found that maximum performance was achieved not by optimizing for cache but for the oft-overlooked TLB (translation lookaside buffer) and his carefully hand-optimized version of BLAS generally outperforms ATLAS. And all of these packages are free for the downloading. Isn't that amazing?


Post a Comment

<< Home