"A Comparison of the Floating-Point Performance of Current Computers,"
Steven H. Langer, CIP 12:4, 1998, p. 338
This Web page is a companion to the article "A Comparison of the Floating Point Performance of Current Computers" from the July/August 1998 issue of Computers in Physics. The article was written by Steven Langer of Lawrence Livermore National Laboratory (LLNL). It presents the results of several floating-point benchmark programs that measure performance on a range of desktop computers, and it discusses how the architecture of the computers influences their performance.
The article presents some sample results for the benchmark programs. This Web page presents more detailed results and shows sample output from the programs.
The main benchmark programs are the "Livermore Loops" and the "cache-chek" benchmark. Results for the rate of solution of linear systems using Linpack and Lapack are also included in the article, although they are not the focus of the article. The benchmark programs are available as source code that should compile and run easily on most popular Unix computers. The benchmarks are available as executable programs, a Microsoft Visual C++ project, and a Digital Fortran project for Windows 95/NT. They are available as executable programs, a Metrowerks C project, and an Absoft Fortran project on the Macintosh.
The "Loops" measure floating-point performance for a range of compute-intensive loops taken from physics simulation codes at LLNL.The Loops benchmark (officially known as the Livermore Fortran Kernels) was written by Frank McMahon of LLNL. The original Fortran version of the Loops and a translation into C (by Steven Langer) are both used in the article. The source code for these loops has been packaged in a manner that should make it easy to compile and run the programs on popular Unix computers.
The "cache-chek" benchmark measures the floating-point performance of a computer as a function of vector length for both a dot product and a polynomial evaluation. The changes in performance as a function of vector length correlate with the various levels of cache memory in a computer and can be used to judge the importance of utilizing the cache memory efficiently.
The Linpack and Lapack benchmarks are available only in Fortran. They measure the rate at which a system of linear equations can be solved using Gaussian elimination. Lapack is essentially the successor to Linpack and is written in such a way as to run efficiently on a cache-based computer. Lapack performs much better than Linpack for large matrices.
Dot Product in C
Dot Product in Fortran
Sample Output from the Livermore Loops
Sample Output from Cache-chek
Obtaining the Benchmark Programs
To unpack the Unix files, first use gunzip (part of the Free Software Foundation's gzip package), then run tar (with tvf as an argument). Each file will extract into its own directory.
To unpack the Windows or Macintosh files, double-click on the file's icon. The files for both systems are distributed as self-extracting archive, so you do not need a copy of WinZip or StuffIt to unpack them.