Summary of Aaron Fogelson benchmarks

Quick overview

This document summarizes the benchmarks from Aaron Fogelson's research group in computational fluid dynamics at the University of Utah Mathematics Department.

The benchmark results are available in two series of tables.

Each table contains rows of results ordered in decreasing performance. Each row contains the

Important disclaimer

Please remember that there is no answer to the commonly-asked question: ``What is the fastest machine?''.

Within the collection of benchmarks of which these are members, it is often possible to pick a single benchmark which rates a particular machine the fastest, and yet, on other benchmarks, the same machine may perform poorly with respect to competing models.

Particularly on modern RISC architectures, performance can be extremely sensitive to the quality of compiler optimizations; in at least one case, a speedup of a factor of fifty was seen over a range of compiler options on the same system.

The benchmarking of these programs has investigated a substantial number of compilation options and optimization levels, but it is possible that new releases of compilers, or alternative compilers, might improve the results significantly. We make reasonable efforts to keep our compiler and operating systems up-to-date with vendor software releases, but particularly with older machine models, or machines obtained on a short-term loan for evaluation purposes, it is frequently impossible to rerun the benchmarks after such new releases.

It is imperative with computer benchmarking to examine a range of benchmark programs, where those programs are chosen to represent the kinds of numerical computation that are important to you, before coming to a conclusion about which machine is best for your jobs.

Many other factors besides benchmark performance should affect computer purchasing decisions, including at least these:

Brief benchmark descriptions

All of the benchmark programs described in this document are written in highly-portable Fortran 77, and all represent real research programs using real data; they are not loop kernels or toy implementations. Program code sizes are given below.


[6118 lines of Fortran code]

This program solves in two-dimensions a set of coupled nonlinear partial differential equations that arise in modeling platelet aggregation during blood clotting. The equations include the Navier-Stokes equations, and transport and kinetic equations for two populations of platelets, a proaggregating chemical, and a population of interplatelet elastic bonds. The bonds generate forces which influence the fluid motion. The elastic bond density is a function of time and two sets of spatial variables: x=(x1,x2) is the usual vector of spatial coordinates, v=(v1,v2) is the vector that connects two platelets joined by elastic bonds. The differential equations are solved in a period domain using a combination of finite-difference and Fourier collocation spectral methods.

On an HP 9000/735 system, about 112MB RAM is needed. Profiling shows that the time is spread over five relatively short routines, most with loops containing IF statements


[5999 lines of Fortran code]

[No description yet available]


[6285 lines of Fortran code]

[No description yet available]


[5784 lines of Fortran code]

This program carries out a two-dimensional simulation of interactions between a viscous incompressible fluid and negatively buoyant particles suspended in the fluid. The Navier-Stokes equations are solved using finite-difference methods. Each particle is modeled as a slightly deformable elastic body; it is represented by a set of discrete points and an ensemble of springs connecting the points. The spring forces are transmitted to the fluid grid and influence the fluid motion. The fluid velocity is interpolated from the grid to each of the discrete points on a particle, and the position of each of these points is updated to reflect their motion at the local fluid velocity.

On an HP 9000/735 system, about 8MB RAM is needed. About 70% of the time in this program is spent in Fast Fourier transform routines.


[3146 lines of Fortran code]

[No description yet available]


[3144 lines of Fortran code]

[No description yet available]