SPEC ACCEL Documentation

This index was last updated: $Date: 2019-01-22 14:57:58 -0500 (Tue, 22 Jan 2019) $ by $Author: BrianWhitney $

(To check for possible updates to the SPEC ACCEL documentation, see http://www.spec.org/accel/Docs/.

Suggested reading order:

If you are just getting started with SPEC ACCEL, here is a suggested reading order:

  1. Start with readme1st.html to get an overview of the suite and the process.

  2. Use system-requirements.html to help you choose which computer to use as your first test system.

  3. Once you've chosen the test system, install the suite, using install-guide-unix.html. Please note that Windows operating system has not been tested, but it is possible it will work, see install-guide-windows.html for hints on installing on Windows.

  4. Read at least the first part of runspec.html, because runspec is the primary tool in the suite. It is used to build the benchmarks, run them, and report on their results. You should read at least section 1 through section 3.1 of that document.

  5. After that, you can pick and choose which documents to read based on where your needs may take you. The list in the next section can help you decide. Note that the run rules will need to be studied carefully if you plan to quote results in public.

List of documents

The following documents are included with SPEC ACCEL.


A summary of the changes that have been made in the V1.1 maintenance release for SPEC ACCEL.


A summary of the changes that have been made in the V1.2 release for SPEC ACCEL.


A summary of the changes that have been made in the V1.3 release for SPEC ACCEL.


SPEC ACCEL provides benchmarks in source code form, which are compiled under control of SPEC's toolset. A config file controls how they are compiled, and also controls various settings for your tests. If you are new to the suite, you will probably start with an existing config file, such as one downloaded from www.spec.org/accel. Eventually, you will either want to understand the details of what is inside that config file, or you will want to write your own. This document tells you how.


Information about the contributors to SPEC ACCEL.


Known problems and errata information.


Frequently asked technical questions


When the benchmarks are compiled, compilation flags (such as -O5 or -unroll) are detected and automatically reported by the tools. A flag description file helps the tools recognize such flags and describe them in reports. The tester is responsible for providing a flag description file to go with his or her config file. This document tells you how to write a flag description file.

Note that if you are just getting started with ACCEL, you may find that your starter config file already points to a valid flags description, via the config file flagsurl field.


How to install SPEC ACCEL on Unix, Linx, and Mac OS X systems. Includes an example installation and an example of running the first benchmark.


How to install SPEC ACCEL on Microsoft Windows systems. Includes an example installation and an example of running the first benchmark. Running on Windows is not officially supported.


Copyright notice and other legal information.


Advanced users of the suite who want to understand exactly how the benchmarks are built can use this file to help decipher the process.


Information about monitoring hooks.


Written in the form of questions and answers, this document provides useful background information to the SPEC ACCEL benchmarks, explains which system components are measured, gives a high-level overview of the benchmarking steps, summarizes the contents of the SPEC ACCEL package, and details types of metrics available with the suite.


The SPEC ACCEL Run and reporting rules. These must be followed for generating publicly disclosed results. If you plan to quote results in public, you will need to study these rules carefully.


Information on the "runspec" command, which is the primary user interface for running SPEC ACCEL benchmarks and reporting results.


Some users prefer to avoid using the SPEC-supplied toolset, because they have specialized tasks that require more direct access to the benchmarks. Such tasks might include instrumenting the code, doing performance traces, or debugging an experimental compiler. This document describes how you can use SPEC's tools for the minimal purpose of just generating work directories, for use as a private sandbox.


A SPEC result includes a system description. If your system allows it, you may be able to automate part of the process of gathering a system description. This perl script provides an example of how that might be done. Note: some web browsers may refuse to open a file of type ".pl". If clicking on the link doesn't work, try saving the file and opening it with your favorite text editor.


A list of the hardware and software needed in order to run the SPEC ACCEL suite.


Information on SPEC technical support.


How to build (or re-build) the tools such as runspec


How to use various utilities, such as specinvoke, specdiff, and specmake.

Benchmark Documentation

Benchmark API Language Application domain
001.systest OpenCL C++ This is a testing support routine.
101.tpacf OpenCL C++ Astrophysics
103.stencil OpenCL C++ Thermodynamics
104.lbm OpenCL C++ Fluid Dynamics
110.fft OpenCL C Signal processing
112.spmv OpenCL C++ Sparse Linear Algebra
114.mriq OpenCL C Medicine
116.histo OpenCL C Silicon Wafer Verification
117.bfs OpenCL C Electronic Design Automation, Graph Traversals
118.cutcp OpenCL C Molecular Dynamics
120.kmeans OpenCL C++ Dense Linear Algebra, Data Mining
121.lavamd OpenCL C N-Body, Molecular Dynamics
122.cfd OpenCL C++ Unstructured Grid, Fluid Dynamics
123.nw OpenCL C++ Dynamic Programming, Bioinformatics
124.hotspot OpenCL C Structured Grid, Physics Simulation
125.lud OpenCL C++ Dense Linear Algebra, Linear Algebra
126.ge OpenCL C++ Dense Linear Algebra, Linear Algebra
127.srad OpenCL C Structured Grid, Image Processing
128.heartwall OpenCL C Structured Grid, Medical Imaging
140.bplustree OpenCL C Graph Traversal, Search
303.ostencil OpenACC C Thermodynamics
304.olbm OpenACC C Computational Fluid Dynmaics, Lattice Boltzmann Method
314.omriq OpenACC C Medicine
350.md OpenACC Fortran Molecular Dynamics
351.palm OpenACC Fortran Large-eddy simulation, atmospheric turbulence
352.ep OpenACC C Embarrassingly Parallel
353.clvrleaf OpenACC C, Fortran Weather
354.cg OpenACC C Conjuage Gradient
355.seismic OpenACC Fortran Seismic Wave Modeling
356.sp OpenACC Fortran Scalar Penta-diagonal solver
357.csp OpenACC C Scalar Penta-diagonal solver
359.miniGhost OpenACC C, Fortran Finite difference
360.ilbdc OpenACC Fortran Fluid Mechanics.
363.swim OpenACC Fortran Weather
370.bt OpenACC C Block Tridiagonal Solver for 3D PDE
503.postencil OpenMP C Thermodynamics
504.polbm OpenMP C Computational Fluid Dynmaics, Lattice Boltzmann Method
514.pomriq OpenMP C Medicine
550.pmd OpenMP Fortran Molecular Dynamics
551.ppalm OpenMP Fortran Large-eddy simulation, atmospheric turbulence
552.pep OpenMP C Embarrassingly Parallel
553.pclvrleaf OpenMP C, Fortran Weather
554.pcg OpenMP C Conjuage Gradient
555.pseismic OpenMP Fortran Seismic Wave Modeling
556.psp OpenMP Fortran Scalar Penta-diagonal solver
557.pcsp OpenMP C Scalar Penta-diagonal solver
559.pmniGhost OpenMP C, Fortran Finite difference
560.pilbdc OpenMP Fortran Fluid Mechanics.
563.pswim OpenMP Fortran Weather
570.pbt OpenMP C Block Tridiagonal Solver for 3D PDE

Some individual benchmark in the suite have additional documents, found in the benchmark "Docs" subdirectory on your installed benchmark tree, or on the ACCEL distribution media. For example, additional information about 350.md may be found in:

$SPEC/benchspec/ACCEL/350.md/Docs/350.md.html (Unix)
%SPEC%\benchspec\ACCEL\350.md\Docs\350.md.html (Windows)

Redistributable Sources

On the SPEC distribution, you will find:

redistributable_sources/README      Information about freely-available sources
                                    that have been incorporated in SPEC ACCEL

Copyright 2014-2017 Standard Performance Evaluation Corporation
All Rights Reserved