首页 > 代码库 > MPI 安装在 Ubuntu16.04

MPI 安装在 Ubuntu16.04

MPI的安装我参考了网上大牛的博客:

   http://blog.csdn.net/bendanban/article/details/9136755

   http://www.cnblogs.com/liyanwei/archive/2010/04/26/1721142.html

 

MPI3.0以前的安装方式比较麻烦一点,参考前面两篇博客连接,MPI3.0及以后的安装和运行都简化了很多步骤,下面是MPI3.0后的安装步骤:

  参考博客: http://blog.csdn.net/u014004096/article/details/50499429

 

我的系统环境:

  Ubuntu 16.04

  64bit

1. 下载源文件

  镜像网站,下载比较快: http://www.mpich.org/static/downloads/3.0.4/

  官方网站,下载比较慢: http://www.mpich.org/downloads/

2. 在Ubuntu中解压文件并安装,以mpich-3.1.4.tar.gz为例

  在终端上先找到文件所在位置:sudo tar -zxvf mpich-3.1.4.tar.gz

  使用ls命令查看便可发现多出了一个mpich-3.1.4目录

  进入该目录:cd mpich-3.1.4 

  运行命令./configure -prefix=/usr/local/mpich进行软件配置与检查,这里我们只设置安装目录即可。注:prefix参数是表示安装路径

  接下来进行编译与安装:make && make install(当然也可以先执行make命令编译,再执行make install命令安装,作用一样。) 

   编译执行的命令(如mpicc、mpirun)是需要添加的,必须添加绝对路径才能正常使用。而为了方便,需要配置一下环境变量:

     配置环境变量:  [root@localhost ~]# vi .bashrc 

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

   然后再保存退出后,再更新配置文件使其生效:[root@localhost ~]# source .bashrc 

   确保安装确确实实是成功了的,可以进行测试一下:[root@localhost mpich-3.1.4]# mpirun -np 10 ./examples/cpi 

   如果没有报错就证明运行成功,那么也就证明mpi是安装成功了的。

  PS:在执行时,可能需要安装一些依赖包,安装提示走就好了:sudo apt-get install *

3. 实例测试

 

 1 #include "mpi.h"
 2 #include <stdio.h>
 3 #include <math.h>
 4 
 5 int main (int argc, char **argv)
 6 {
 7   int myid, numprocs;
 8   int namelen;
 9   char processor_name[MPI_MAX_PROCESSOR_NAME];
10 
11   MPI_Init (&argc, &argv);
12   MPI_Comm_rank (MPI_COMM_WORLD, &myid);
13   MPI_Comm_size (MPI_COMM_WORLD, &numprocs);
14   MPI_Get_processor_name (processor_name, &namelen);
15   fprintf (stderr, "Hello World! Process %d of %d on %s\n", myid, numprocs, processor_name);
16   MPI_Finalize (); 17   return 0; 18 }

 

 

 

  编译: mpicc -o hello hello.c ( C程序用 mpicc编译,C++程序用mpicxx编译) 

  运行: mpirun -np 4 ./hello

  输出结果为:  (下面结果每台机器可能都不一样,是正常的)

    Hello World! Process 1 of 4 on LJPC-HR8
    Hello World! Process 3 of 4 on LJPC-HR8
    Hello World! Process 2 of 4 on LJPC-HR8
    Hello World! Process 0 of 4 on LJPC-HR8
    想停止并行运行环境
    mpdcleanup

 

MPI 安装在 Ubuntu16.04