2
2
3
3
# Installation and advice
4
4
5
- As already written in the overview, Fluidfft is organized as a main package
6
- provided few Fluidfft Python classes using standard packages (Numpy, pyfftw,
7
- Dask, etc.) and plugins which can use other methods, in particular based on C++
8
- classes using more advanced libraries (as pfft and p3dfft).
5
+ As already written in the overview, Fluidfft is organized as a main package provided few
6
+ Fluidfft Python classes using standard packages (Numpy, pyfftw, Dask, etc.) and plugins
7
+ which can use other methods, in particular based on C++ classes using more advanced
8
+ libraries (as pfft and p3dfft).
9
9
10
- In this page we focus on installing the base Fluidfft package for Fluidfft >=
11
- 0.4.0.
10
+ In this page we focus on installing the base Fluidfft package for Fluidfft >= 0.4.0.
12
11
13
- First, ensure that you have a recent Python installed, since Fluidsim requires
14
- Python >= 3.9. Some issues regarding the installation of Python and Python
15
- packages are discussed in
12
+ First, ensure that you have a recent Python installed, since Fluidsim requires Python >=
13
+ 3.9. Some issues regarding the installation of Python and Python packages are discussed
14
+ in
16
15
[ the main documentation of the project] ( http://fluiddyn.readthedocs.org/en/latest/install.html ) .
17
16
18
17
## Installation with pip
@@ -29,7 +28,21 @@ Fluidfft can be installed without compilation with `pip`:
29
28
30
29
``` sh
31
30
pip install pip -U
32
- pip install fluidsim
31
+ pip install fluidfft
32
+ ```
33
+
34
+ However, fluidfft [ works with plugins] ( ./plugins.md ) , which have to be installed
35
+ additionally, for example using fluidfft optional dependencies. Installing [ pyfftw] does
36
+ not require compilation:
37
+
38
+ ``` sh
39
+ pip install " fluidfft[pyfftw]"
40
+ ```
41
+
42
+ whereas installing other plugins will trigger local compilation.
43
+
44
+ ``` sh
45
+ pip install " fluidfft[fftw,mpi-with-fftw,fftwmpi]"
33
46
```
34
47
35
48
## Installation with conda
@@ -40,17 +53,14 @@ conda install fluidfft
40
53
41
54
### Remark on Numpy installed with conda
42
55
43
- In anaconda (or miniconda), Numpy installed with ` conda install numpy ` can be
44
- built and linked with MKL (an Intel library). This can be a real plus for
45
- performance since MKL replaces fftw functions by (usually) faster ones but it
46
- has a drawback for fft using the library fftw3_mpi (an implementation of
47
- parallel fft using 1D decomposition by fftw). MKL implements some fftw
48
- functions but not all the functions defined in fftw3_mpi. Since the libraries
49
- are loaded dynamically, if numpy is imported before the fftw_mpi libraries,
50
- this can lead to very bad issues (segmentation fault, only if numpy is imported
51
- before the class!). For security, we prefer to automatically disable the
52
- building of the fft classes using fftw3_mpi when it is detected that numpy uses
53
- the MKL library where some fftw symbols are defined.
56
+ In anaconda (or miniconda), Numpy installed with ` conda install numpy ` can be built and
57
+ linked with MKL (an Intel library). This can be a real plus for performance since MKL
58
+ replaces fftw functions by (usually) faster ones but it has a drawback for fft using the
59
+ library fftw3_mpi (an implementation of parallel fft using 1D decomposition by fftw). MKL
60
+ implements some fftw functions but not all the functions defined in fftw3_mpi. Since the
61
+ libraries are loaded dynamically, if numpy is imported before the fftw_mpi libraries,
62
+ this can lead to very bad issues (segmentation fault, only if numpy is imported before
63
+ the class!).
54
64
55
65
To install with anaconda numpy linked with openblas:
56
66
@@ -61,6 +71,7 @@ conda install "blas[build=*openblas]" numpy
61
71
62
72
## Environment variables
63
73
64
- Fluidfft is sensible at runtime to the environment variable
65
- ` TRANSONIC_BACKEND ` . The Transonic backend is "pythran" by default, but it can
66
- also be set to "python" or "numba".
74
+ Fluidfft is sensible at runtime to the environment variable ` TRANSONIC_BACKEND ` . The
75
+ Transonic backend is "pythran" by default, but it can also be set to "python" or "numba".
76
+
77
+ [ pyfftw ] : https://github.com/pyFFTW/pyFFTW/
0 commit comments