1.配置介绍
虚拟机:VMware Workstation Pro 16.0
Linux系统:Ubuntu 20.04
mpich版本:mpich-4.0.2
2.下载mpich并解压
在mpich官网下载4.0.2版本:
下载完后将其解压,我选择的解压路径是:
home/challenger/Documents
3.配置
进入解压后的文件夹,在该路径下打开终端,输入:
./configure --prefix=/home/challenger/Documents/mpich-4.0.2/mpich-install 2>&1 | tee c.txt
注意要更换为自己的路径
结果如下:
可以看到,发生如下报错:
configure: error: No Fortran compiler found. If you don't need to
build any Fortran programs, you can disable Fortran support using
--disable-fortran. If you do want to build Fortran
programs, you need to install a Fortran compiler such as gfortran
or ifort before you can proceed.
这是因为我没有fortran编译器,由于我不需要fortran环境,所以根据提示加入--disable-fortran
即可。
./configure --disable-fortran --prefix=/home/challenger/Documents/mpich-4.0.2/mpich-install 2>&1 | tee c.txt
配置成功!
4.编译和安装
依次在终端输入如下命令:
sudo make
sudo make install
经过漫长的等待......(大约一个小时)
5.添加环境变量
sudo gedit ~/.bashrc
在打开文件的末尾添上:
export MPI_ROOT=/home/challenger/Documents/mpich-4.0.2/mpich-install //这一步对应你自己的安装地址
export PATH=$MPI_ROOT/bin:$PATH
export MANPATH=$MPI_ROOT/man:$MANPATH
然后激活
source ~/.bashrc
- which mpicc 查看位置信息
- mpichversion 查看版本信息,出现版本号说明安装成功
6.测试
“Hello world”程序(每个进程输出自己的编号、进程的总数、以及节点的名字)的编译,运行,以及结果。
在Document路径下新建test.c文件,并在该路径下打开终端,
编译:
mpicc -o test test.c
这里说明一下,
mpicc是mpi特有的编译指令,类似于gcc,
-o <test> 是编译器选项,意思是编译出的可执行文件的文件名为test
test.c是需要编译的文件名
运行:
mpiexec -n 4 ./test
与编译同样的,mpiexec是mpi特有的运行指令
-n <线程数量>
./test 是要运行的可执行文件
结果如下:
“Hello world”程序代码如下:
#include <stdio.h>
#include “mpi.h”
int main(int argc, char *argv[])
{
int myrank, size;
char processor_name[MPI_MAX_PROCESSOR_NAME];
int namelen;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Get_processor_name(processor_name, &namelen);
printf("Processor %d of %d on %s: Hello World!\n", myrank, size, processor_name);
MPI_Finalize();
return 0;
}