单机ubuntu下mpich的安装与使用

时间:2021-09-24 06:35:03

1.下载http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads  mpich2-1.4.1p1.tar.gz

2.然后解压,假设解压后的目录是/home/nh/Downloads/mpich2-1.4.1p1

3.nh@55ubuntu :~$ gcc --version

4.nh@55ubuntu:~$ g++ --version

5.nh@55ubuntu:~$ python --version

   确认以上软件都已经安装了.

6.nh@55ubuntu:~$cd /home/nh/Downloads/mpich2-1.4.1p1

7.nh@55ubuntu:~/Downloads/mpich2-1.4.1p1$ ./configure --prefix /home/nh/Downloads/mpich2

8.nh@55ubuntu:~/Downloads/mpich2-1.4.1p1$ make

9.nh@55ubuntu:~/Downloads/mpich2-1.4.1p1$ make install 

10.设置环境变量

      添加下面这行到/etc/profile文件的最后,然后重新起动系统使环境变量永久生效。
       export PATH=/home/nh/Downloads/mpich2/bin:$PATH

11. 添加mpd配置文件

    在当前用户的home目录下面新建立一个名为".mpd.conf"的配置文件,文件的内容如下应该包括下面这行:
    secretword=<secretword>
    比如:
    nh@55ubuntu:~$ more .mpd.conf
    secretword=nh

    <secretword>是你的密钥,是每台机器进行连接并用建立并行环境互相信任的基础。
    接下来,需要设置该文件的存取权限,这步是必须的,否则在后面的运行中会报错。

    nh@55ubuntu:$ sudo chmod 600 .mpd.conf

    nh@55ubuntu:$ ls -ll .mpd.conf

    -rw------- 1 zzm 1003 22 2010-01-07 13:54 .mpd.conf

12.在/home/nh/下新建一个文件名为hello.c,源代码如下:

 #include <mpi.h> 

 #include <stdio.h>
  int main(int argc, char *argv[]) 
  { 
      int npes, myrank; 
      MPI_Init(&argc, &argv); 
      MPI_Comm_size(MPI_COMM_WORLD, &npes); 
      MPI_Comm_rank(MPI_COMM_WORLD, &myrank); 
      printf("From process %d out of %d, Hello World!\n", myrank, npes); 
      MPI_Finalize();
   }

13.nh@55ubuntu:~/Downloads/mpich2/bin$ ./mpicc -o /home/nh/hello /home/nh/hello.c

14.nh@55ubuntu:~/Downloads/mpich2/bin$ ./mpirun -np 2 /home/nh/hello
     From process 0 out of 2, Hello World!
     From process 1 out of 2, Hello World!