mpifft4py——在python中使用mpi进行并行3d fft
mpiFFT4p的Python项目详细描述
说明
mpifft4py在python中并行执行fft。它是为了能够在三维计算盒(结构化网格)上并行地进行fft而开发的,但是也有在二维网格上进行fft的例程。它实现了slab和pencil分解。
安装
mpifft4py需要numpy用于基本数组运算,[pyfftw](https://github.com/pyfftw/pyFFTW)用于高效fft,以及[mpi4py](https://bitbucket.org/mpi4py/mpi4py)用于mpi通信。但是,如果找不到pyfftw,则使用较慢的numpy.fft。[cython](http://cython.org)用于优化一些例程。使用常规python distutils安装:
python setup.py install --prefix="Path on the PYTHONPATH"
要安装到位,请执行以下操作:
python setup.py build_ext --inplace
要使用anaconda进行安装,您可以使用(从主目录)自行编译它:
conda config --add channels conda-forge conda build conf/conda conda install mpiFFT4py --use-local
或者在水蟒云的[conda forge](https://anaconda.org/conda-forge/mpifft4py)或[spectraldns](https://anaconda.org/spectralDNS/mpifft4py)通道中使用预编译的二进制文件:
conda install -c conda-forge mpifft4py
或:
conda config --add channels conda-forge conda install -c spectralDNS mpifft4py
有为osx和linux编译的二进制文件,以及一些python版本。请注意,spectraldns频道包含该软件的最新版本,而conda forge则更稳定。
许可证
MPIFFT4PY是在GNU GPL版本3或(由您选择)任何更高版本下授权的。MPIFFT4PY版权所有(2014-2016)。
联系人
此软件的最新版本可从
https://github.com/spectralDNS/mpiFFT4py
请通过问题跟踪程序报告错误和其他问题,网址为:
https://github.com/spectralDNS/mpiFFT4py/issues