Specious2000 - A SPEC CPU2000 Benchmark Suite CMake Harness
Introduction
This is a CMake build harness for the SPEC CPU200 benchmarks.
The actual source files for each benchmark are not included, but use [this][2] instead.
Features
- Building of all
C
andC++
programs of the suite - Out-of-source builds thanks to cmake
- Capability to create LLVM bitcode files thanks to llvm-ir-cmake-utils and LLVM
opt
pass pipelines (see theconfig/pipelines
subdirectory). - Capability to configure and build any desired subset of the programs by using the corresponding configuration (see the
suite_*
files in theconfig
subdirectory).
Requirements
- cmake 3.0.0 or later
- a sensible C/C++ compiler
How to use
-
git clone --recursive
this repo andgit clone
the benchmark source [repo][2]. -
Create symlinks to the
src
subdirectory of each benchmark program. This can be automated with the relevant script found in theutils/scripts/source_tree
subdirectory of this repo, for example:create-symlink-bmk-subdir.sh -c suite_all.txt -s [path-to]/CPU2000/ -t [path-to]/CPU2000/ -l src
-
Create a directory for an out-of-source build and
cd
into it. -
Run
cmake
andcmake --build .
with that appropriate options. For examples on the various options have a look at the build scripts (provided for convenience) located in theutils/scripts/source_tree
subdirectory. -
Optionally, you can install the benchmarks by
cmake -DCMAKE_INSTALL_PREFIX=[path-to-install] -P cmake_install.cmake
Omitting
CMAKE_INSTALL_PREFIX
will use the../install/
directory relative to the build directory.
Benchmark-specific configuration options
Source language selection
more TODO
How the harness works
For a general description on how this harness operates please have a look here.