1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
Installation
============
Requirements
------------
* C++ Compiler with C++11 support. Supported compilers are:
* GCC 6 and later
* Clang 5 and later
* ICC 18.0 and later
- CMake 3.11 and later
- Library providing a FFTW 3.x interface (FFTW3 or Intel MKL)
- For multi-threading: OpenMP support by the compiler
- For compilation with GPU support:
* CUDA 9.0 and later for Nvidia hardware
* ROCm 2.6 and later for AMD hardware
Build
-----
The build system follows the standard CMake workflow.
Example:
.. code-block:: bash
mkdir build
cd build
cmake .. -DSPFFT_OMP=ON -DSPFFT_MPI=ON -DSPFFT_GPU_BACKEND=CUDA -DSPFFT_SINGLE_PRECISION=OFF -DCMAKE_INSTALL_PREFIX=/usr/local
make -j8 install
CMake options
-------------
====================== ======= ================================================
Option Default Description
====================== ======= ================================================
SPFFT_MPI ON Enable MPI support
SPFFT_OMP ON Enable multi-threading with OpenMP
SPFFT_GPU_BACKEND OFF Select GPU backend. Can be OFF, CUDA or ROCM
SPFFT_GPU_DIRECT OFF Use GPU aware MPI with GPUDirect
SPFFT_SINGLE_PRECISION OFF Enable single precision support
SPFFT_STATIC OFF Build as static library
SPFFT_BUILD_TESTS OFF Build test executables for developement purposes
SPFFT_INSTALL ON Add library to install target
SPFFT_FORTRAN OFF Build Fortran interface module
====================== ======= ================================================
|