Skip to main content

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

Project details


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)

Uploaded Source

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

Hashes for mpiFFT4py-1.1.0.tar.gz
Algorithm Hash digest
SHA256 fc6593660ba30f8a267db2956a692133d203064e91f41244278981d4eeaa3ef5
MD5 a19dc3b09d8794e608f0f7c08b37aa52
BLAKE2b-256 940a67b178badc7012b9e5b28640235ed999fadbf326bacd1db2a4d3c7029251

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page