American Institute of Physics
home contact us sitemap
Computers in Physics


Index to Benchmark Codes

"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.


Livermore Loops

Dot Product in C

Dot Product in Fortran

Polynomial Evaluation

Sample Output from the Livermore Loops

Sample Output from Cache-chek

Obtaining the Benchmark Programs
Version Fortran Loops C Loops Fortran Cache C Cache
README file README loops README cloops README cache same as Fortran Cache
Unix Source Code loops.tar.gz cloops.tar.gz cache-chek.tar.gz same as Fortran Cache
Windows Source Code loopproj.exe cloopproj.exe cache_f_proj.exe cache_c_proj.exe
Macintosh Source Code loops.sea.bin cloops.sea.bin cache_chek.sea.bin same as Fortran Cache
Windows Executable loops.exe cloops.exe cache_f.exe same as Fortran cache
Macintosh Executable loops_exec.sea.bin cloops_exec.sea.bin cache_exec.sea.bin same as Fortran cache

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.

Tables of Contents | PDF Articles | Source Code | Educational Software | Running Indexes | Online Journal Service | Home

[an error occurred while processing this directive]