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
Cprograms of the suite - Out-of-source builds thanks to cmake
- Capability to create LLVM bitcode files thanks to llvm-ir-cmake-utils and LLVM
optpass pipelines (see theconfig/pipelinessubdirectory). - Capability to configure and build any desired subset of the programs by using the corresponding configuration (see the
suite_*files in theconfigsubdirectory).
- cmake 3.0.0 or later
- a sensible C compiler
-
git clone --recursivethis repo andgit clonethe benchmark source repo. -
Create symlinks to the
srcsubdirectory of each benchmark program. This can be automated with the relevant script found in theutils/scripts/source_treesubdirectory 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 srcPlease note that you can also use
NPB3.3-OMP-Cwith the same harness; In that case, all relevantOpenMPbuild scripts in subdirectoryutils/scripts/source_treeare typically prefixed withbuild-omp-. -
Create a directory for an out-of-source build and
cdinto it. -
Run
cmakeandcmake --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_treesubdirectory. -
Optionally, you can install the benchmarks by
cmake -DCMAKE_INSTALL_PREFIX=[path-to-install] -P cmake_install.cmakeOmitting
CMAKE_INSTALL_PREFIXwill use the../install/directory relative to the build directory.
TODO
For a general description on how this harness operates please have a look here.