MPI是一个跨语言的通讯协议,用于编写并行计算机。支持点对点和广播。MPI的目标是高性能,大规模性,和可移植性。MPI在今天仍为高性能计算的主要模型。
MPI(Message Passing Interface)是一个信息传递接口。可以理解为是一种独立于语言的信息传递标准。而OpenMPI和MPICH等是对这种标准的具体实现。也就是说,OpenMPI和MPICH这类库是具体用代码实现MPI标准。因此我们需要安装OpenMPI或者MPICH去实现我们所学的MPI的信息传递标准。
最好下载到根目录下
wget https://www.mpich.org/static/downloads/4.0.2/mpich-4.0.2.tar.gz
解压(学会使用tab补全文件名)
sudo tar -zxvf mpich-4.0.2.tar.gz
设置好安装路径
mkdir libraries
mv mpich-4.0.2 ~/libraries
这一步如果出现fetch failure需要更换软件源,其次就是网速的问题了
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install gfortran
给予文件夹权限
sudo chmod 777 mpich-4.0.2
进入文件中(或者直接在图形界面中的文件里右键打开终端)
cd mpich-4.0.2/
sudo ./configure --disable-fortran --with-device=ch4:ofi --prefix=/home/libraries/mpich-4.0.2/mpich-install 2>&1 | tee c.txt
#注意这里prefix后面是你的安装路径
sudo apt install autoconf
#autoconf工具帮助我们自动地生成符合自由软件惯例的Makefile
autoconf
上面这一步如果出现问题可能是没有在mpich-4.0.2文件夹中执行或者makefile文件出错,解决不了可以全部删除重新来过。
sudo apt install make
#安装make工具用于执行makefile
sudo make#这一步时间比较长sudo make
sudo make install#执行makefile里的程序安装
sudo nano /etc/profile#这里选择vim gedit都可
在文档末尾加上
export MPI_ROOT=/home/libraries/mpich-4.0.2/mpich-install #这一步修改你自己的安装地址
export PATH=$MPI_ROOT/bin:$PATH
export MANPATH=$MPI_ROOT/man:$MANPATH
激活环境变量
sudo source /etc/profile
上面这一步如果显示命令未找到可能是因为shell的解释器不是bash而是dash
#在根目录下执行
ls -l /bin/sh
#如果显示/bin/sh -> dash则需要修改为bash
sudo dpkg-reconfigure dash
#在弹出的页面中选择NO
#在mpich-4.0.2中
which mpicc
#显示mpich安装位置
mpichversion
#显示安装版本信息
mpirun -n 10 ./examples/cpi
测试范例(需在mpich-4.0.2才能找到该文件)
至此mpi安装完成
可能会出现关闭当前终端后或重启后需再次执行环境配置文件才能生效的情况
这里将环境路径写入.bashrc中即可
在~/.bashre后面加
source /etc/profile