Skip to content

Commit e3ae536

Browse files
committed
Update doc install
1 parent 783fc14 commit e3ae536

File tree

4 files changed

+40
-26
lines changed

4 files changed

+40
-26
lines changed

.mdformat.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
wrap = 89
2+
number = true
3+
end_of_line = "lf"

doc/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ def save_fig_scaling(dir_name, dim, n0, n1, n2=None):
160160

161161
# List of patterns, relative to source directory, that match files and
162162
# directories to ignore when looking for source files.
163-
exclude_patterns = ["_build"]
163+
exclude_patterns = ["_build", "install/pfft-1.0.8-alpha/README.rst"]
164164
exclude_patterns.extend(
165165
[
166166
f"install/{name}.md"

doc/install.md

Lines changed: 35 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,16 @@
22

33
# Installation and advice
44

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).
99

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.
1211

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
1615
[the main documentation of the project](http://fluiddyn.readthedocs.org/en/latest/install.html).
1716

1817
## Installation with pip
@@ -29,7 +28,21 @@ Fluidfft can be installed without compilation with `pip`:
2928

3029
```sh
3130
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]"
3346
```
3447

3548
## Installation with conda
@@ -40,17 +53,14 @@ conda install fluidfft
4053

4154
### Remark on Numpy installed with conda
4255

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!).
5464

5565
To install with anaconda numpy linked with openblas:
5666

@@ -61,6 +71,7 @@ conda install "blas[build=*openblas]" numpy
6171

6272
## Environment variables
6373

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/

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ pyfftw = ["pyfftw >= 0.10.4"]
4747
dask = ["dask"]
4848
mpi = ["mpi4py"]
4949
fftw = ["fluidfft-fftw"]
50-
mpi_with_fftw = ["fluidfft-mpi_with_fftw"]
50+
mpi-with-fftw = ["fluidfft-mpi_with_fftw"]
5151
fftwmpi = ["fluidfft-fftwmpi"]
5252
pfft = ["fluidfft-pfft"]
5353
p3dfft = ["fluidfft-p3dfft"]

0 commit comments

Comments
 (0)