SPECfp
Encyclopedia
SPECfp is a computer benchmark designed to test the floating point
Floating point
In computing, floating point describes a method of representing real numbers in a way that can support a wide range of values. Numbers are, in general, represented approximately to a fixed number of significant digits and scaled using an exponent. The base for the scaling is normally 2, 10 or 16...

 performance of a computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

. It is managed by the Standard Performance Evaluation Corporation
Standard Performance Evaluation Corporation
The Standard Performance Evaluation Corporation is a non-profit organization that aims to "produce, establish, maintain and endorse a standardized set" of performance benchmarks for computers....

. SPECfp is the floating point performance testing component of the SPEC CPU testing suit. The first stander SPECfp was released in 1989 as SPECfp89. Later it was replaced by SPECfp92, then SPECfp95, then SPECfp2000, and finally SPECfp2006.

Background

SPEC CPU is a suite of benchmark applications designed to test the CPU performance. The suite is composed of two sets of tests. The first being CINT (aka SPECint
SPECint
SPECint is a computer benchmark specification for CPU's integer processing power. It is maintained by the Standard Performance Evaluation Corporation . SPECint is the integer performance testing component of the SPEC test suite. The first SPEC test suite, CPU92, was announced in 1992. It was...

) which is for evaluating the CPU performance in integer operations. The second set is CFP(aka SPECfp) which is for evaluating the CPU floating point operations performance.

The benchmark applications are programs that perform a strict set of operation that simulate real time situations, such as physical simulations, 3D graphics, and image processing. These applications are usually written in different programming languages, mostly C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, Fortran
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

, and Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

. Many SPECfp benchmark applications are derived from applications that are freely available to the public and each application is assigned a weight based on its importance.

To compute the SPECfp score, benchmark applications run on a reference machine and the time each application requires for completion is recorded as the reference time. When evaluating the performance of another machine, the benchmark application is run on that system and the time the application requires for completion is recorded. Then the ratio between the recorded time and the reference time is computed. The geometric mean of all the benchmark suite application ratios is then computed as the SPECfp score.

For example, 126.gcc application takes 1280 seconds to complete on the AlphaStation 200 4/100, while it takes 1700 seconds on the reference machine. So, the ratio is:

1700/1280 = 1.328

Which implies that AlphaStation 200 4/100 is 32.8% faster than the reference machine in running the 126.gcc.

SPECfp2006

The SPECfp2006 test suite contains 17 benchmark programs, designed to evaluate the floating point operations performance of a given system. Three of these programs are written in C, four are written in C++, six are written in Fortran, and four are written in both C and Fortran. The suite was released on August 24, 2006 replacing SEPCfp2000 as of February 2007.

Benchmarks

The benchmarks programs are :
Benchmark Language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

Category Description
410.bwaves Fortran Fluid Dynamics Simulates 3D transonic transient laminar viscous flow.
416.gamess Fortran Quantum Chemistry Self-consistent field computations are performed using Restricted open-shell Hartree-Fock, the Restricted Hartree Fock method, and Multi-Configuration Self-Consistent Field
433.milc C Physics: Quantum Chromodynamics A program that generates gauge field for lattice gauge theory programs with dynamical quarks.
434.zeusmp Fortran Physics/ CFD A computational fluid dynamics program developed at NCSA( University of Illinois at Urbana-Champaign) for the simulation of astrophysical phenomena.
435.gromacs C/ Fortran Biochemistry/ Molecular Dynamics Computes Newtonian equations of motion for hundreds to millions of particles. It simulates protein Lysozyme in a solution.
436.cactusADM C/ Fortran Physics/ General Relativity Simulates the Einstein evolution equations using a staggered-leapfrog numerical method
437.leslie3d Fortran Fluid Dynamics Computational Fluid Dynamics (CFD) using Large-Eddy Simulations with Linear-Eddy Model in 3D. Uses the MacCormack Predictor-Corrector time integration scheme.
444.namd C++ Biology/ Molecular Dynamics Simulates large biomolecular systems. The simulation has 92,224 atoms of apolipoprotein A - I.
447.dealII C++ Finite Element Analysis Computes adaptive finite elements and error estimation. The simulation solves a Helmholtz-type equation with non-constant coefficients.
450.soplex C++ Linear Programming, Optimization Solves a linear program using a simplex algorithm and sparse linear algebra. Test simulation include railroad planning and military airlift models.
453.povray C++ Image Ray-tracing The computation is a 1280x1024 anti-aliased image of a landscape with some abstract objects with textures using a Perlin noise function.
454.Calculix
Calculix
Calculix is a free and open source finite element analysis application that uses a similar input format to ABAQUS. It has an implicit and explicit solver written by Guido Dhondt and a pre and post processor written by Klaus Wittig. The original software was written for the Linux operating system...

C/ Fortran Structural Mechanics Computes finite element code for linear and nonlinear 3D structural applications. Uses the SPOOLES solver library.
459.GemsFDTD Fortran Computational Electromagnetics Simulates the Maxwell equations in 3D using the finite-difference time-domain (FDTD) method.
465.tonto Fortran Quantum Chemistry The simulation places a constraint on a molecular Hartree-Fock wave function calculation to better match experimental X-ray diffraction data.
470.lbm C Fluid Dynamics Implements the "Lattice-Boltzmann Method" to compute incompressible fluids in 3D
481.wrf C/ Fortran Weather Weather Prediction and Weather modeling from scales of meters to thousands of kilometers. The simulation is from a 30 km area over 2 days.
482.sphinx3 C Speech recognition A widely-known speech recognition system developed by Carnegie Mellon University

SPECfp2000

The SPECfp2000 test suite contains 14 benchmark programs, designed to evaluate the floating point operations performance of a given system. Four of these programs are written in C, six are written in Fortran 77, and four are written in Fortran 90. The suite was released on December 30, 1999 replacing SEPCfp95 as of July 2000. This suite is currently retired.

Benchmarks

The benchmarks programs are :
Benchmark Language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

Category Description
168.wupwise Fortran 77 Physics / Quantum Chromodynamics A Wuppertal Wilson Fermion Simulator in the area of lattice gauge theory
Gauge theory
In physics, gauge invariance is the property of a field theory in which different configurations of the underlying fundamental but unobservable fields result in identical observable quantities. A theory with such a property is called a gauge theory...

 (quantum chromodynamics).
171.swim Fortran 77 Shallow Water Modeling Weather prediction program for benchmarking the performance of current supercomputers.
172.mgrid Fortran 77 Physics Multi-grid Solver: 3D Potential Field Computes a three dimensional potential field using a very simple multigrid solver.
173.applu Fortran 77 Parabolic / Elliptic Partial Differential Equations Simulates five coupled nonlinear PDE's, on a 3-dimensional logically structured grid, using an implicit pseudo-time marching scheme, based on two-factor approximate factorization of the sparse Jacobian matrix.
177.mesa C 3-D Graphics Library Program that is a free OpenGL work-alike library.
178.galgel Fortran 90 Computational Fluid Dynamics Performs numerical analysis of oscillatory instability of convection in low-Prandtl-number fluids
179.art C Image Recognition / Neural Networks Recognizes objects in a thermal images using The Adaptive Resonance Theory 2 (ART 2) neural network.
183.equake C Seismic Wave Propagation Simulation Computes the propagation of elastic waves in large, highly heterogeneous valleys, such as California's San Fernando Valley, or the Greater Los Angeles Basin.
187.facerec Fortran 90 Image Processing: Face Recognition This program performs face recognition system.
188.ammp C Computational Chemistry This program computes molecular dynamics (i.e. solves the ODE defined by Newton's equations for the motions of the atoms in the system) on a protein-inhibitor complex which is embedded in water.
189.lucas Fortran 90 Number Theory / Primality Testing Computes the Lucas-Lehmer test to check primality of Mersenne numbers 2^p-1, using arbitrary-precision (array-integer) arithmetic.
191.fma3d Fortran 90 Finite-element Crash Simulation This program computes the inelastic, transient dynamic response of three-dimensional solids and structures subjected to impulsively or suddenly applied loads.
200.sixtrack Fortran 77 High Energy Nuclear Physics Accelerator Design Simulates the tracking of variable number of particles for a variable number of turns round a model of a particle accelerator.
301.apsi Fortran 77 Meteorology: Pollutant Distribution Attempts to solve for the mesoscale and synoptic variations of potential temperature, U AND V wind components, and the mesoscale vertical velocity W pressure and distribution of pollutants C having sources Q.

SPECfp95

The SPECfp95 test suite contains 10 benchmark programs, designed to evaluate the floating point operations performance of a given system. The suite was released in March 1995 replacing SEPCfp92 as of September 1995. This suite is currently retired.

Benchmarks

The benchmarks programs are :
Benchmark Category
101.tomcatv Vectorized mesh generation.
102.swim Shallow water equations.
103.su2cor Monte-Carlo method.
104.hydro2d Navier Stokes equations.
107.mgrid 3D potential field.
110.applu Partial differential equations.
125.turb3d Turbulence modeling.
141.apsi Weather prediction.
145.fpppp Image From Gaussian series of quantum chemistry benchmarks.
146.wave5 Maxwell's equations.

SPECfp92

The SPECfp92 test suite contains 14 benchmark programs, designed to evaluate the floating point operations performance of a given system. Twelve of these programs are written in Fortran, and two are written in C. The suite was released in 1995 replacing SEPCfp89 . With the release of this suite, the Baseline rule was introduced; in witch vendors are no longer allowed to optimize the compilation of the code without reporting it . This suite is currently retired.

Benchmarks

The benchmarks programs are :
Benchmark Language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

Category
013.spice2g6 Fortran Analog circuits (double precision)
015.doduc Fortran Monte-Carlo simulation
034.mdljdp2 Fortran Atoms interacting through the idealized Lennard-Jones potential
039.wave5 Fortran Maxwell's equations on a Cartesian mesh
047.tomcatv Fortran Two-dimensional, boundary-fitted coordinate systems around general geometric domains.
048 ora Fortran Rays through an optical surface
052.alvinn C Neural network using back propagation
056.ear C Simulates the human ear by converting a sound file to a cochleogram using Fast Fourier Transforms and other math library functions
077.mdljsp2 Fortran Motion equations for a model of 500 atoms
078.swm256 Fortran Shallow water equations using finite difference approximations
089.su2cor Fortran Masses of elementary particles in the framework of the Quark Gluon theory.
090.hydro2d Fortran Hydrodynamical Navier Stokes equations to calculate galactical jets
093.nasa7 Fortran Program kernels of operations used frequently in NASA applications
094.fpppp Fortran Multi-electron integral derivatives

See also

  • Standard Performance Evaluation Corporation
    Standard Performance Evaluation Corporation
    The Standard Performance Evaluation Corporation is a non-profit organization that aims to "produce, establish, maintain and endorse a standardized set" of performance benchmarks for computers....

  • SPECint
    SPECint
    SPECint is a computer benchmark specification for CPU's integer processing power. It is maintained by the Standard Performance Evaluation Corporation . SPECint is the integer performance testing component of the SPEC test suite. The first SPEC test suite, CPU92, was announced in 1992. It was...

  • Benchmark (computing)
    Benchmark (computing)
    In computing, a benchmark is the act of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, normally by running a number of standard tests and trials against it...

  • NBench
    NBench
    NBench is a synthetic computing benchmark program developed in the mid 1990s by the now defunct BYTE magazine intended to measure a computer's CPU, FPU, and Memory System speed.- History :...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK