This is a CMake build harness for the NAS Parallel Benchmarks implemented in C.
The actual source files for each benchmark are not included, but use this instead.
- Building of all 10
C
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).
- cmake 3.0.0 or later
- a sensible C compiler
-
git clone --recursive
this repo andgit clone
the benchmark source repo. -
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]/NPB3.3-SER-C/ -t [path-to]/nauseous/ -l src
Please note that you can also use
NPB3.3-OMP-C
with the same harness; In that case, all relevantOpenMP
build scripts in subdirectoryutils/scripts/source_tree
are typically prefixed withbuild-omp-
. -
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.