We use the CMake build system, Kokkos for performance portability (compiling for CPU and GPU systems) and MPI for distributed memory parallelism.
If you just want to compile and run the code, you can simply clone the repository:
However, if you want to modify the code, you should fork the repository and clone your fork. Have a look at the contributing guidelines for more information.
For an out-of-source build (recommended), create a new directory (typically next to the source code) and run cmake in that directory passing the source directory as an argument.
This will create Makefiles in the build directory.
Without any additional arguments, Kokkos will be configured to compile for CPU systems only. To compile for GPU systems, you need to pass flags like -DKokkos_ENABLE_CUDA=ON (for NVIDIA systems) to CMake.
Run make in the build directory to build the code. You can also specify a specific target of course:
Tests can be run after building from the tests/ directory by invoking ctest. Apps, benchmarks, etc. should usually provide some usage instructions when passing -h.
Run with one MPI process per GPU.