并行作业1:MPI安装,及示例程序运行

运行MPI程序

系统采用vm下ubuntu16.04

一、MPI系统安装

1.1 安装环境

(1)操作系统:Ubuntu 16.04.4 (64位)。
(2)g++ 版本:gcc version 5.4.0

1.2 安装包下载地址及安装包

(1)下载地址:http://www.mpich.org/downloads/
(2)安装包:mpich-3.2.1.tar.gz

1.3安装与测试

(1)将安装包压缩到/usr/local/mpich目录下:
//创建mpich文件夹
cd /usr/local
sudo mkdir mpich

//回到安装包所在目录,执行压缩指令
sudo tar -zxvf mpich-3.2.1.tar.gz -C /usr/local/mpich
(2)进入压缩目录进行软件配置与检查:
cd mpich-3.2.1
./configure -prefix=/usr/local/mpich

//提示缺少Fortran 77 compiler,安装编译器
sudo apt-get install gfortran

//再次进行配置和检查
./configure -prefix=/usr/local/mpich
(3)编译与安装
sudo make && make install

//出现错误,权限不足,导致无法创建文件
cd /usr/local
sudo chmod -R 777 mpich/

//重新执行编译与安装
cd /usr/local/mpich/mpich-3.2.1
sudo make && make install

//没有提示出错
(4)配置环境变量
sudo gedit ~/.bashrc

//在.bashrc文件的末尾添加:
export PATH=/usr/local/mpich/bin:$PATH

//更新配置文件使其生效
source ~/.bashrc
(5)运行示例,测试是否安装成功
cd /usr/local/mpich/mpich-3.2.1
mpirun -np 10 ./examples/cpi

二、MPI程序运行与结果展示

编译:mpicxx/mpicc -o 编译后文件名 待编译C++/C文件完整路径
运行:mpirun –np处理器数 ./编译后文件名

2.1 程序1:MPI并行计算初始化与结束示例

#include 
#include 
main(int argc, char **argv)
{	 
	 int numtasks, rank;
  	 MPI_Init(&argc, &argv);
    	 printf("Hello parallelworld!\n");
      MPI_Finalize();
}


//结果
控制台输出3个Hello parallelworld

2.2 程序2:简单MPI编程示例

#include 
#include 
main(int argc, char **argv)
{
   int num, rk;
   MPI_Init(&argc, &argv);
   MPI_Comm_size(MPI_COMM_WORLD, & num);
   MPI_Comm_rank(MPI_COMM_WORLD, &rk);
   printf("Hello world from Process %d of %d\n",rk,num);
   MPI_Finalize();
}

后面还有一系列的都是PPT上的例子,不再在这里放代码

你可能感兴趣的:(并行)