编译安装MPI
并行环境是提高服务器计算速度和处理能力的一种有效手段,目前,大量并行程序采用的都是基于消息传递的并行编译方式。
最流行的是MPI(Message Process Interface),即标准消息传递界面,是一种基于消息传递的并行编程接口,而不是一门具体的语言。
MPI有多种实现版本,如MPICH,HPMPI、OPENMPI和IntelMPI。通常用C或者Fortran语言来调用这些标准库,实现程序的并行性。
MPICH3.2的编译安装
用GCC编译MPICH2,C、C++、Fortran77和Fortran90的编译器分别为mpicc,mpicxx,mpif70和mpif90
MPICH编译器
语言类型 | MPI编译器 |
C | mpicc |
C++ | mpicxx |
Fortran77 | mpif77 |
Fortran90 | mpif90 |
安装步骤:
下载源码包并解压
wget http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz
tar -xvf mpich-3.2.1.tar.gz
编译安装
cd mpich-3.2.1
./configure --prefix=/data/mpich3.2.1 CC=gcc FC=gfortran CXX=g++ F77=gfortran
--prefix为软件安装目录,CC指定C编译器,FC指定fortran编译器
make
make install
配置环境变量
vi .bashrc
添加以下语句:
#mpich3.2
export PATH=/data/mpich3.2/bin:$PATH
export INCLUDE=/data/mpich3.2/include:$INCLUDE
export LD_LIBRARY_PATH=/data/mpich3.2/lib:$LD_LIBRARY_PATH
export MANPATH=$MANPATH:/data/mpich3.2/share/man
保存退出,并source .bashrc
查看是否导入成功
which mpiexec
测试
在源码解压目录/home/baolu/mpich-3.2.1/examples下
编译cpi
make cpi
启动并行计算
mpiexec -n 12 ./cpi #(12为12核)
可以看到PI值及误差和计算时间,说明MPICH3.2编译安装成功