手动安装 mpi4py
使用 conda 安装的 mpi4py 默认是基于 mpich 构建的,而且使用的编译器是 gcc。想要基于 openmpi 来构建则必须要手动安装。假定 openmpi 安装在 /path/to/openmpi
下(即编译 openmpi 时的 prefix),且编译器使用 intel 的 icc
,则手动安装 mpi4py 的方法如下:
*1. 下载 mpi4py,地址是 https://bitbucket.org/mpi4py/mpi4py.git
*2. 修改 mpi.cfg
文件,找到 [openmpi]
标签,将之后的内容改为
[openmpi]
mpi_dir = /path/to/openmpi
mpicc = %(mpi_dir)s/bin/mpicc
mpicxx = %(mpi_dir)s/bin/mpicxx
include_dirs = %(mpi_dir)s/include
libraries = mpi
library_dirs = %(mpi_dir)s/lib
runtime_library_dirs = %(library_dirs)s
*3. 声明环境变量
export CC="icc -I/path/to/openmpi/include -L/path/to/openmpi/lib -lmpi"
*4. 执行
python setup.py build
开始编译。如果遇到最后一步 gcc
链接错误,可以执行
alias gcc=icc
从而强制使用 icc
。重新编译即可消除链接错误。
*5. 执行
python setup.py install
进行安装。进入 ipython
,如果执行
import mpi4py
没有报错,则说明安装成功。
Enjoy!