MPI环境搭建
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MPI环境搭建
一、安装虚拟机
二、在虚拟机安装两个ubuntu-server16.04系统一个主机命名为master
另一个主机命名为slave1
启动界面
三、系统配置
主机slave1
配置master slave双向免登录
三、MPI的下载于安装
1.下载
将文件上传到master
在master主机查看文件
安装G++、GCC
lzz@master:~/mpich-3.2$ sudo apt-get install build-essential
创建安装路径
lzz@master:~$ mkdir mpich-install
安装
lzz@master:~$ cd mpich-install/
lzz@master:~/mpich-3.2$ ./configure --prefix=/home/lzz/mpich-install --disable-fortran 2>&1 | tee c.txt
编译
lzz@master:~/mpich-3.2$ make 2>&1 | tee m.txt
安装MPICH命令
lzz@master:~/mpich-3.2$ make install 2>&1 | tee mi.txt
添加环境变量
编辑.bashrc文件
export PATH=/home/lzz/mpich-install/bin:$PATH
使配置生效
Source .bashrc
配置集群
复制master节点上的编译程序到slave1节点
lzz@master:~$ scp -r /home/lzz/mpich-install lzz@slave1:~/
编写demo程序
#include "mpi.h" /*import head function of mpi*/
#include <stdio.h>
int main(int argc, char *argv[])
{
int rank, size, tag=1;/*rank is No. of process; size is the total number of process*/ MPI_Status status;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);/*save process's No.*/
MPI_Comm_size(MPI_COMM_WORLD, &size);/*save process's total number*/ printf("Hello World from thread %d of %d\n", rank, size);
MPI_Finalize();
return 0;
}
编译zhenzhen@lzz:~/source/c/mpidemo$ mpicxx -o mpidemo mpidemo.c 执行zhenzhen@lzz:~/source/c/mpidemo$ mpirun -np 3 ./mpidemo
运行结果。