mpiFFT4py -- Parallel 3D FFT in Python using MPI for Python
Project description
# mpiFFT4py
[![Build Status](https://travis-ci.org/spectralDNS/mpiFFT4py.svg?branch=master)](https://travis-ci.org/spectralDNS/mpiFFT4py)
[![CircleCI](https://circleci.com/gh/spectralDNS/mpiFFT4py/tree/master.svg?style=svg)](https://circleci.com/gh/spectralDNS/mpiFFT4py/tree/master)
[![DOI](https://zenodo.org/badge/51817237.svg)](https://zenodo.org/badge/latestdoi/51817237)
Description
----------
mpiFFT4py performs FFTs in parallel in Python. It is developed to be able to do FFTs in parallel on a three-dimensional computational box (a structured grid), but there are also routines for doing the FFTs on a 2D mesh. It implements both the *slab* and the *pencil* decompositions.
Installation
-----------
mpiFFT4py requires *numpy* for basic array oparations, [*pyfftw*](https://github.com/pyfftw/pyFFTW) for efficient FFTs and [*mpi4py*](https://bitbucket.org/mpi4py/mpi4py) for MPI communications. However, if *pyfftw* is not found, then the slower *numpy.fft* is used instead. [*cython*](http://cython.org) is used to optimize a few routines. Install using regular python distutils
python setup.py install --prefix="Path on the PYTHONPATH"
To install in place do
python setup.py build_ext --inplace
To install using Anaconda, you may either compile it yourselves using (from the main directory)
conda config --add channels conda-forge
conda build conf/conda
conda install mpiFFT4py --use-local
or use precompiled binaries in the[*conda-forge*](https://anaconda.org/conda-forge/mpifft4py) or the [*spectralDNS*](https://anaconda.org/spectralDNS/mpifft4py) channel on Anaconda cloud
conda install -c conda-forge mpifft4py
or
conda config --add channels conda-forge
conda install -c spectralDNS mpifft4py
There are binaries compiled for both OSX and linux, and several versions of Python. Note that the spectralDNS channel contains bleeding-edge versions of the Software, whereas conda-forge is more stable.
Authors
-------
mpiFFT4py is developed by
* Mikael Mortensen
Licence
-------
mpiFFT4py is licensed under the GNU GPL, version 3 or (at your option) any later version. mpiFFT4py is Copyright (2014-2016) by the authors.
Contact
-------
The latest version of this software can be obtained from
https://github.com/spectralDNS/mpiFFT4py
Please report bugs and other issues through the issue tracker at:
https://github.com/spectralDNS/mpiFFT4py/issues
[![Build Status](https://travis-ci.org/spectralDNS/mpiFFT4py.svg?branch=master)](https://travis-ci.org/spectralDNS/mpiFFT4py)
[![CircleCI](https://circleci.com/gh/spectralDNS/mpiFFT4py/tree/master.svg?style=svg)](https://circleci.com/gh/spectralDNS/mpiFFT4py/tree/master)
[![DOI](https://zenodo.org/badge/51817237.svg)](https://zenodo.org/badge/latestdoi/51817237)
Description
----------
mpiFFT4py performs FFTs in parallel in Python. It is developed to be able to do FFTs in parallel on a three-dimensional computational box (a structured grid), but there are also routines for doing the FFTs on a 2D mesh. It implements both the *slab* and the *pencil* decompositions.
Installation
-----------
mpiFFT4py requires *numpy* for basic array oparations, [*pyfftw*](https://github.com/pyfftw/pyFFTW) for efficient FFTs and [*mpi4py*](https://bitbucket.org/mpi4py/mpi4py) for MPI communications. However, if *pyfftw* is not found, then the slower *numpy.fft* is used instead. [*cython*](http://cython.org) is used to optimize a few routines. Install using regular python distutils
python setup.py install --prefix="Path on the PYTHONPATH"
To install in place do
python setup.py build_ext --inplace
To install using Anaconda, you may either compile it yourselves using (from the main directory)
conda config --add channels conda-forge
conda build conf/conda
conda install mpiFFT4py --use-local
or use precompiled binaries in the[*conda-forge*](https://anaconda.org/conda-forge/mpifft4py) or the [*spectralDNS*](https://anaconda.org/spectralDNS/mpifft4py) channel on Anaconda cloud
conda install -c conda-forge mpifft4py
or
conda config --add channels conda-forge
conda install -c spectralDNS mpifft4py
There are binaries compiled for both OSX and linux, and several versions of Python. Note that the spectralDNS channel contains bleeding-edge versions of the Software, whereas conda-forge is more stable.
Authors
-------
mpiFFT4py is developed by
* Mikael Mortensen
Licence
-------
mpiFFT4py is licensed under the GNU GPL, version 3 or (at your option) any later version. mpiFFT4py is Copyright (2014-2016) by the authors.
Contact
-------
The latest version of this software can be obtained from
https://github.com/spectralDNS/mpiFFT4py
Please report bugs and other issues through the issue tracker at:
https://github.com/spectralDNS/mpiFFT4py/issues
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mpiFFT4py-1.1.0.tar.gz
(24.5 kB
view details)
File details
Details for the file mpiFFT4py-1.1.0.tar.gz
.
File metadata
- Download URL: mpiFFT4py-1.1.0.tar.gz
- Upload date:
- Size: 24.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc6593660ba30f8a267db2956a692133d203064e91f41244278981d4eeaa3ef5 |
|
MD5 | a19dc3b09d8794e608f0f7c08b37aa52 |
|
BLAKE2b-256 | 940a67b178badc7012b9e5b28640235ed999fadbf326bacd1db2a4d3c7029251 |