File: installation.rst

package info (click to toggle)
spfft 0.9.13-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,632 kB
  • sloc: cpp: 10,662; f90: 508; ansic: 366; python: 41; makefile: 11
file content (49 lines) | stat: -rw-r--r-- 1,600 bytes parent folder | download
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
====================== ======= ================================================