diff --git a/README.md b/README.md index ae3d0d2f263628c2951d62ed68e08946b30ed933..1a25762ec162bd7c23e5d78c17436e973caf997a 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,34 @@ Option `COMPILER` enables set of compiler-specific options. Most common are `gnu ./sfx.exe ``` +## Building with CMake + +Currently there is an implementation of Cmake-based toolchain which allows to build the model quicker and with less hustle (minimum required cmake version is 3.19). Clone the project and load appropriate modules. Create a build directory outside of cloned projects: + +```bash +mkdir build && cd build +``` + +The code supports fluxes computations on both CPU and GPU and the CPU implementation has two versions: Fortran and C++ implementation. + +1. Building the Fortran CPU version: +```bash +cmake .. +``` + +2. Building the C++ CPU version: +```bash +cmake -DUSE_CXX=ON .. +``` + +3. Building the C++ GPU version: +```bash +cmake -DINCLUDE_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=<N> .. +``` +where `N` is the architecture to generate device code for. + + + ## Running test cases We have prepared several dataseta to make the test calculations. Data is prepared on the basis of measurements.