By: Bill Buros.
Continuing our theme of leveraging gcc for performance based workloads, here we point to a couple of recent Linpack results from the Top500 web site. The Top500 site tracks the results of Linpack runs from small single standalone servers all of the way up through the Top 500 supercomputers in the world. Naturally, the smaller results are buried in a very big table somewhere on the site, but the Top500 entries are listed separately.
What’s noteworthy in the two results below is that "gcc" was leveraged to build Linpack, linking in IBM’s premiere engineering and scientific libraries (IBM ESSL), and running with Linux on POWER7 servers.
The first result - from IBM Research - is listed in the Top500 June 2011 list at spot #192.
This Power 750 cluster was running Linux and was interconnected with 10GigE. If you view the details of the result, the Top500 site incorrectly lists the result as AIX based. Which OS is listed doesn’t really matter much in the grand scheme of things. We do verify that AIX, SLES, and RHEL provide very similar performance for workloads like this. For a Linux-based team of analysts and programmers, having AIX listed on a Linux result is just annoying. Many harumphs.
The second result is simply one of the numerous "standard" benchmarks which are often run on each new POWER7 server which helps to characterize the server's performance.
In this case, the Power 730 server has results listed for RHEL 6 running on a 12-core server running at 3.72GHz. The results were 333.1 when we used either gcc from the distro or with IBM’s XL Compilers.
For an explanation on how gcc was used to link with IBM ESSL is provided in this article. Since ESSL is itself built with IBM Fortran, there’s a couple of IBM XL Fortran runtime libraries needed, but there’s no requirement for the full IBM XL compilers for building the application.