SPECfp is a computer benchmark designed to test the floating-point performance of a computer. It is managed by the Standard Performance Evaluation Corporation. SPECfp is the floating-point performance testing component of the SPEC CPU testing suit. The first standard SPECfp was released in 1989[1] as SPECfp89. Later it was replaced by SPECfp92, then SPECfp95, then SPECfp2000, then SPECfp2006, and finally SPECfp2017.

Background

edit

SPEC CPU2017 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) 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 written in different programming languages, C, C++ and Fortran. 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.[1]

SPECfp2017

edit

The SPECfp2017 test is organized in 2 suites: SPECrate 2017 Floating Point and SPECspeed 2017 Floating Point containing in total 23 benchmark programs, designed to evaluate the floating-point operations performance of a given system.[2] The suite was released on June 2, 2017 replacing SPECfp2006 as of January 2018.

SPECfp2006

edit

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[3] replacing SPECfp2000 as of February 2007.[4]

Benchmarks

edit

The benchmark programs are:[5]

Benchmark Language 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 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

edit

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[4] replacing SEPCfp95 as of July 2000.[6] This suite is currently retired.

Benchmarks

edit

The benchmark programs are:[7]

Benchmark Language Category Description
168.wupwise Fortran 77 Physics / Quantum Chromodynamics A Wuppertal Wilson Fermion Simulator in the area of lattice 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

edit

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.[6] This suite is currently retired.

Benchmarks

edit

The benchmark programs are:[8]

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

edit

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 SPECfp89.[9] With the release of this suite, the Baseline rule was introduced; in which vendors are no longer allowed to optimize the compilation of the code without reporting it.[10] This suite is currently retired.

Benchmarks

edit

The benchmark programs are:[11]

Benchmark Language 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

edit

References

edit
  1. ^ a b "The SPEC Benchmarks". 2003-02-03. Retrieved 2010-07-24.
  2. ^ "SPEC CPU2017 Documentation". 2018-05-18. Retrieved 2018-10-24.
  3. ^ "SPEC CPU2006". 2010-06-16. Retrieved 2010-07-25.
  4. ^ a b "SPEC CPU2000". 2007-06-07. Retrieved 2010-07-25.
  5. ^ "CFP2006 (Floating Point Component of SPEC CPU2006)". 2006-09-27. Retrieved 2010-07-25.
  6. ^ a b "SPEC CPU95 Benchmarks". 2003-09-23. Retrieved 2010-07-25.
  7. ^ "CFP2000 (Floating Point Component of SPEC CPU2000)". 2003-10-16. Retrieved 2010-07-25.
  8. ^ "SPEC CFP95 Benchmarks". 2003-09-26. Retrieved 2010-07-25.
  9. ^ "SPEC CPU92 Benchmarks". 2003-09-23. Retrieved 2010-07-25.
  10. ^ "baseline.txt". 2003-09-26. Retrieved 2010-07-25.
  11. ^ "CFP92 Benchmarks". 2003-09-26. Retrieved 2010-07-25.
edit
  • [1] (Floating Point Component of SPEC CPU2006)
  • [2] (Floating Point Component of SPEC CPU2000)
  • [3] (Floating Point Component of SPEC CPU95)
  • [4] (Floating Point Component of SPEC CPU92)