SPEC Cheatsheet

SPECint_rate and SPECfp_rate are typically used to demonstrate the performance of multi‐processor systems. The results are given as base and peak, with the higher the result, the better the performance

This benchmark is limited to the chip and chipset, memory architecture, and associated compiler, so it does not cover I/O, operating systems, or other system components.

CINT2006 (for integer compute intensive performance comparisons):

SPECint_base2006: The geometric mean of twelve normalized ratios when the benchmarks are compiled with base tuning.

SPECint_rate_base2006: The geometric mean of twelve normalized throughput ratios when the benchmarks are compiled with base tuning.

CFP2006 (for floating point compute intensive performance comparisons:

SPECfp_base2006: The geometric mean of seventeen normalized ratios when the benchmarks are compiled with base tuning.

SPECfp_rate_base2006: The geometric mean of seventeen normalized throughput ratios when the benchmarks are compiled with base tuning.

What is the difference between a “base” metric and a “peak” metric?

The base metrics (e.g. SPECint_base2006) are required for all reported results and have stricter guidelines for compilation. For example, the same flags must be used in the same order for all benchmarks of a given language. This is the point closer to those who might prefer a relatively simple build process.

The peak metrics (e.g. SPECint2006) are optional and have less strict requirements. For example, different compiler options may be used on each benchmark, and feedback-directed optimization is allowed. This point is closer to those who may be willing to invest more time and effort in development of build procedures.

What is the difference between a “rate” and a “speed” metric?

There are several different ways to measure computer performance. One way is to measure how fast the computer completes a single task; this is a *speed* measure.

Another way is to measure how many tasks a computer can accomplish in a certain amount of time; this is called a throughput, capacity or *rate* measure.

The SPEC speed metrics (e.g., SPECint2006) are used for comparing the ability of a computer to complete single tasks.

The SPEC rate metrics (e.g., SPECint_rate2006) measure the throughput or rate of a machine carrying out a number of tasks.

Is there a way to translate SPEC CPU2000 results to SPEC CPU2006 results or vice versa?

There is no formula for converting CPU2000 results to CPU2006 results and vice versa; they are different products.

CINT2006 contains 12 benchmarks: 9 use C, and 3 use C++. The benchmarks are:

400.perlbench	C	PERL Programming Language
401.bzip2	C	Compression
403.gcc	C	C Compiler
429.mcf	C	Combinatorial Optimization
445.gobmk	C	Artificial Intelligence: go
456.hmmer	C	Search Gene Sequence
458.sjeng	C	Artificial Intelligence: chess
462.libquantum	C	Physics: Quantum Computing
464.h264ref	C	Video Compression
471.omnetpp	C++	Discrete Event Simulation
473.astar	C++	Path-finding Algorithms
483.xalancbmk	C++	XML Processing

CFP2006 has 17 benchmarks: 4 use C++, 3 use C, 6 use Fortran, and 4 use a mixture of C and Fortran. The benchmarks are:

410.bwaves	Fortran	Fluid Dynamics
416.gamess	Fortran	Quantum Chemistry
433.milc	C	Physics: Quantum Chromodynamics
434.zeusmp	Fortran	Physics/CFD
435.gromacs	C/Fortran	Biochemistry/Molecular Dynamics
436.cactusADM	C/Fortran	Physics/General Relativity
437.leslie3d	Fortran	Fluid Dynamics
444.namd	C++	Biology/Molecular Dynamics
447.dealII	C++	Finite Element Analysis
450.soplex	C++	Linear Programming, Optimization
453.povray	C++	Image Ray-tracing
454.calculix	C/Fortran	Structural Mechanics
459.GemsFDTD	Fortran	Computational Electromagnetics
465.tonto	Fortran	Quantum Chemistry
470.lbm	C	Fluid Dynamics
481.wrf	C/Fortran	Weather Prediction
482.sphinx3	C	Speech recognition