首先要知道的是 MPI 并不是一种编程语言,只是一种并行库,用来指示编译器自己的程序中哪些地方需要并行,哪些地方正常串行等等。目前常用的有 MPICH 和 OPENMPI 两个 MPI 库,这里选择 MPICH 来进行安装。

其次, MPICH 最好从源码编译,这样一来可以得到和自己机器相匹配的最优性能,二来会避免今后可能出现的一些错误(我测试过直接安装 Debian 自带的 MPICH 包,结果安装过程没问题,编译程序,运行程序会出现一些错误,可能与机器相关吧)

下载

MPICH最新版本目前为 3.3, 下载地址为:https://www.mpich.org/downloads/

安装

进入到 MPICH 的下载目录,然后解压文件

1
tar zxvf mpich-3.3.tar.gz

然后切换至 MPICH 的源文件目录,运行configure,并指定安装目录。

1
2
cd mpich-3.3
./configure --prefix=/opt/mpich3.3

configure完成之后,直接$ make可编译 MPICH 源文件目录下的所有文件,接着# make install就可以将 MPICH 安装在指定的安装目录。

注1:这里我没有指定 C 和 Fortran 的编译器,因为 MPICH3.2 默认采用 Intel 的编译器来进行编译源文件,如果没有 Intel 编译器也会自动configure系统自带的一些编译器来进行编译,如果想手动指定编译器的话可以设置FC,CC等环境变量,然后再进行编译。

注2:如果./configure --prefix=/opt/mpich3.3过程中报错configure: error: unable to determine matching C type for C++ bool,可修改为./configure FC=/opt/intel/composer_xe_2013.2.146/bin/intel64/ifort CC=gcc CXX=g++ --prefix=/opt/mpich3.3,一般情况下可以顺利configure。

环境变量设置

将下列语句添加到$HOME/.bashrc:

1
2
3
# MPICH 3.3
export PATH=$PATH:/opt/mpich3.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich3.3/lib

最后使用$ source $HOME/.bashrc使环境变量生效。