- Prerequisites:
- Source: Download the latest stable release and extract the files. You can also clone the git repository and use the latest commit on the master branch to get the latest changes.
- Compiler: You need a C++ compiler with C++14 standard support (e.g. g++ 5.0 or later)
- BLAS/OpenBLAS/MKL: You can use BLAS+LAPACK for the matrix operations inside the slabcc but it is highly recommended to use one of the high performance replacements, e.g., the OpenBLAS/MKL instead. If you don't have OpenBLAS installed on your system, follow the guide on the OpenBLAS website. Please refer to the Armadillo documentation for linking to other BLAS replacements.
- FFTW: If you don't have FFTW installed on your system, follow the guide on the FFTW website. Alternatively, you can use the FFTW interface of the MKL.
- Configuration: Set compilation parameters through environment variables.
- $CC: C compiler (default: gcc)
- $CXX: C++ compiler (default: g++)
- $FFTW_HOME: path to FFTW library home
- $FFTW_LIB_FLAG: FFTW library flag (default: -lfftw3)
- $BLAS_HOME: path to BLAS library home
- $BLAS_LIB_FLAG: BLAS library flags (default: -lblas -llapack -lpthread)
- $EXTRA_FLAGS: extra compiler flags for CC and CXX
- $LD_EXTRA_FLAGS: extra linker flags
- Compilation: Run the command
make
in thebin/
to compile the slabcc. - Cleanup: You can run
make clean
to remove the compiled objects.make distclean
additionally removes all the compiled objects of the bundled external libraries.