Read about our upcoming Code of Conduct on this issue

index.rst 2.25 KB
Newer Older
Pierre Augier's avatar
Pierre Augier committed
1
2
3
4
5
.. FluidFFT documentation master file

FluidFFT documentation
======================

Pierre Augier's avatar
Pierre Augier committed
6
7
8
This package provides C++ classes and their Python wrapper classes written in
Cython useful to perform Fast Fourier Transform (FFT) with different libraries,
in particular
Pierre Augier's avatar
Pierre Augier committed
9

10
11
- `fftw3 <http://www.fftw.org/>`_ and `fftw3-mpi
  <http://www.fftw.org/fftw3_doc/Distributed_002dmemory-FFTW-with-MPI.html>`_
Pierre Augier's avatar
Pierre Augier committed
12
13
14
  
- `pfft <https://github.com/mpip/pfft>`_

Pierre Augier's avatar
Pierre Augier committed
15
16
17
18
19
- `p3dfft <https://github.com/sdsc/p3dfft>`_
    
- `cufft <https://developer.nvidia.com/cufft>`_ (fft library by CUDA
  running on GPU)

Pierre Augier's avatar
Pierre Augier committed
20
21
22
23
24
25
26
27
28
29
30
31
`pfft <https://github.com/mpip/pfft>`_ and `p3dfft
<https://github.com/sdsc/p3dfft>`_ are specialized in computing FFT efficiently
on several cores of big clusters. The data is spit in pencils and can be
distributed on several processes.

Fluidfft provides an uniform API for all these libraries. Fluidfft can be used
for example as a base to write pseudo-spectral simulation codes. In particular,
fluidfft is used in the code `fluidsim
<http://fluidsim.readthedocs.org>`_. Fluidfft also provides classes to
efficiently perform linear operators (gradient, divergence, rotational, etc.)
and easily deal with the data distribution (gather the data on one process,
scatter the data to many processes).
Pierre Augier's avatar
Pierre Augier committed
32

Pierre Augier's avatar
Pierre Augier committed
33
34
35
36
37
38
39
40
41

User Guide
----------

.. toctree::
   :maxdepth: 2

   overview
   install
42
   bench
Pierre Augier's avatar
Pierre Augier committed
43
   tutorials
Pierre Augier's avatar
Pierre Augier committed
44
45
46
47
48
49
50
51


Modules Reference
-----------------

.. autosummary::
   :toctree: generated/

Pierre Augier's avatar
Pierre Augier committed
52
   fluidfft
Pierre Augier's avatar
Pierre Augier committed
53

Pierre Augier's avatar
Pierre Augier committed
54
55
See also the `documentation of the cpp code produced with Doxygen
<doxygen/index.html>`_
Pierre Augier's avatar
Pierre Augier committed
56
57
58
59

More
----

Pierre Augier's avatar
Pierre Augier committed
60
61
62
63
.. |release| image:: https://img.shields.io/pypi/v/fluidfft.svg
   :target: https://pypi.python.org/pypi/fluidfft/
   :alt: Latest version

64
65
.. |coverage| image:: https://codecov.io/gh/fluiddyn/fluidfft/graph/badge.svg
   :target: https://codecov.io/gh/fluiddyn/fluidfft
Pierre Augier's avatar
Pierre Augier committed
66
67
68
69
70
71
72
73
74
75
76
   :alt: Code coverage

.. |travis| image:: https://travis-ci.org/fluiddyn/fluidfft.svg?branch=master
    :target: https://travis-ci.org/fluiddyn/fluidfft


- `FluidFFT forge on Bitbucket <https://bitbucket.org/fluiddyn/fluidfft>`_
- FluidFFT in PyPI |release|
- Unittest coverage |coverage|
- Continuous integration |travis|

Pierre Augier's avatar
Pierre Augier committed
77
78
79
80
.. toctree::
   :maxdepth: 1

   changes
Pierre Augier's avatar
Pierre Augier committed
81
   to_do
Pierre Augier's avatar
Pierre Augier committed
82
83
84
85
86
87
88

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`