Building SPEC OMP2001

This file documents the use of the x86 Open64 Compiler Suite.

© 2009 Advanced Micro Devices, Inc.


Building SPEC OMP2001

OMP2001 is SPEC's first benchmark suite for evaluating performance based on OpenMP ( applications. The benchmark suite programs are adapted from SPEC CPU2000 and contributions to its search program.  The current version of the benchmark suite is V3.2. In order to build and run SPEC OMP2001, you will need to download the benchmark kit, install it, then build and test the component programs. These steps, and any known limitations, are described in the sections below.

The URL for the home page for this benchmark suite is SPEC OMP2001.

Download: In order to download the SPEC OMP2001 benchmarks, a license is required.  An online order form can be found here. 

Installing the Kit

By convention, create a local directory on the system where you will build the benchmarks and run them called “OMP2001”.  In that directory, execute the following commands:

               >tar xvf omp2001-3.2.tar



You will be prompted to select the architecture you are using for building and running the benchmarks, either 32-bit or 64-bit.  Also, the installation script will display the SPEC license and prompt you to enter “yes” to agree to its terms.  Once complete, see the “Docs” subdirectory, which includes html format documentation on the SPEC harness and how to use it.

Building SPEC OMP2001

Building SPEC benchmarks is done using the SPEC harness.  The first command to execute in the CPU2006 directory is (assuming the bash shell):

        >. ./shrc

This will set the value of the $SPEC environment variable to the directory OMP2001.  The commands provided by the SPEC harness can be found in $SPEC/bin.  Example configuration files can be found in $SPEC/config.

The configuration file is used to specify the compiler invocation command, libraries to be used, compiler flags for each benchmark, etc.  This “config” file is also updated with MD5 checksums so that flag changes can be detected by the harness and benchmarks rebuilt only as needed.  More information on how the MD5 checksums are used can be found in the SPEC documentation.

The documentation also describes the SPEC run and reporting rules.  A “reportable” SPEC run is one that is suitable for submission to SPEC and eligible to be displayed on their results web pages.  Reportable runs must follow strict requirements for documentation, MD5 checksums, and ensuring a continuous environment for all component programs.  However, it is also possible to do a non-reportable run with much less time and effort.

An example configuration file for building and running the SPEC benchmarks can be found in Example-open64.cfg.  This file assumes the Barcelona microarchitecture and is configured for a single-socket 4 processor core system.  It specified the “medium” memory model for SPEC OMP2001.  However, it is very similar to actual configuration files used for published SPEC results.  You can issue the following command to build and run all of the SPEC benchmarks using this configuration file:

     >runspec --loose --size=ref --iterations=1 --config=Example-open64 medium

See the SPEC documentation for more details on the “runspec” command.  Below is a variation of the above command which limits the building and running to a single named benchmark, and only using the BASE flags.

     >runspec --loose --size=ref --iterations=1 --config=Example-open64 --tune=base ammp_m

It is also possible to build the SPEC benchmarks without running them. Adding the option “—action=build” will build but not run the specified benchmarks.

It is also possible to “bundle” the resulting benchmark binaries and configuration file so they can be transported to a second system and executed there.

Please see the SPEC documentation for more details on these advanced features.

Known Limitations

There are no known limitations.