Installation

To install KMM first clone the repository, including the submodules, with the following command:

git clone --recurse-submodules https://github.com/NLeSC-COMPAS/kmm.git

After cloning the repository on your machine, you can build KMM using cmake and make:

cd kmm/build
cmake ..
make

There are few CMake options that users can set. First, it is possible to control the backend used to run GPU code with:

  • KMM_USE_CUDA: to enable CUDA support in KMM

  • KMM_USE_HIP: to enable HIP support in KMM

The two options are mutually exclusive; if neither is set, a dummy backend is used instead. The next option is used to control how the library is compiled:

  • KMM_STATIC: to build KMM as a static library

The default behavior is to build KMM as a dynamic library. The remaining options are aimed at KMM developers:

  • KMM_ENABLE_LINTER: to run a linter on the C++ code

  • KMM_BUILD_TESTS: to build the tests

  • KMM_BUILD_EXAMPLES: to build the examples

  • KMM_BUILD_BENCHMARKS: to build the benchmarks

If not specified, the linter is not used, and tests, examples, and benchmarks are not compiled.