在CentOS上安装MPI以及MPI入门编程笔记


一、准备工作

更新yum库
yum update
下载相关依赖包
yum install wget -y
yum install gcc gcc-c++ gcc-fortran kernel-devel -y

二、下载并安装mpi安装包

官网下载MPI 安装包(http://www.mpich.org/downloads/ )

1、新建下载目录
mkdir /mpich-install
2、解压
tar -zxvf mpich-4.0.2.tar.gz
3、进入目录并编译安装 
cd mpich-4.0.2/
./configure --prefix=/mpich-install --with-device=ch4:ofi 2>&1 | tee c.txt

------------ps:下边两步要运行很久,可以泡杯咖啡休息等待哦-----------
make   
make install

三、配置环境

1、编辑环境变量
vim ~/.bashrc
在最底层添加:
export MPICH=/mpich-install
export PATH=$MPICH/bin:$PATH
令环境变量生效
source ~/.bashrc
2、检查安装情况
mpirun -versions

四、MPI入门编程笔记

1、第一个MPI编程小程序
vim hw.c
#include 
#include "mpi.h"
int main(int argc, char **argv)
{
    int myrank,nprocs,len;
    MPI_Status status; //状态
    char Processorname[20];
 
    MPI_Init(&argc,&argv); //初始化MPI并行环境
    MPI_Comm_size(MPI_COMM_WORLD, &nprocs);  //nprocs返回进程个数
    MPI_Comm_rank(MPI_COMM_WORLD,&myrank);   //myrank返回进程号(从0开始)

    MPI_Get_processor_name(Processorname, &len); //返回机器名字和名字长度
    printf("Hello world! Process %d of %d on %s.\n",myrank,nprocs,Processorname);
    
MPI_Finalize(); //终止MPI处理 }
2、在同一台机器上编译运行
方法一:
编译(会生成一个a.out文件)
mpicc hw.c
运行
./a.out
方法二:
编译(会生成一个hw可运行文件)
mpicc -o hw hw.c
运行
mpirun ./hw
 也可以指定进程数运行
mpirun -np 4 ./hw

 3、在同一台机器上编译运行
首先要保证hw.c是在共享目录下("相同目录"不会的翻看我之前的NFS文件挂载)
正常编译即可
mpirun -np 8 -hosts david,client1,client2 ./hw
在三台机器上的运行结果: