Code Monkey home page Code Monkey logo

mpifft4py's Introduction

mpiFFT4py

Build Status CircleCI

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 for efficient FFTs and mpi4py for MPI communications. However, if pyfftw is not found, then the slower numpy.fft is used instead. cython 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 theconda-forge or the spectralDNS 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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.