This is a CMake build harness for the SPEC CPU2006.
The actual source files for each benchmark are not included, since they are distributed under a non-free/restrictive license.
- Building of all
C/C++
programs of the suite - Out-of-source builds thanks to cmake
- Optional 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 files in the
config
subdirectory).
- cmake 3.0.0 or later
- a sensible C/C++ compiler
git clone --recursive
this repo and also have available the benchmark source.- 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]/CPU2006/ -t [path-to]/specious/CPU2006 -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.
TODO
For a general description on how this harness operates please have a look here.
- Support for
Fortran
benchmarks (patches are welcome!).