Linux Centos下安装MPICH以及运行第一个并行程序
来源:互联网 发布:linux获取网卡ip地址 编辑:程序博客网 时间:2024/05/16 01:50
一:Linux下安装与配置MPICH
为了在Linux下运行我们的并行程序,我们需要安装MPICH,现在的版本是MPICH2,下载地址:#迅雷下载分享# mpich2-1.5.tar.gz [下载速度:200.82 KB/s] [文件大小:21.77 MB] 点击下载: http://convurl.com/GrM1C
下载完成后,用SSH登录Linux系统,在这里我用的root的登录身份。在/home 下创建一个目录,用来表示某个用户的文件 mkdir houqingdong ,将tar.gz(注意,这里是tar.gz后缀的压缩文件,不一样的压缩文件在Linux下解压缩时所用的命令也不一样),还要注意一点,就是解压缩文件的过程一定要在Linux系统下完成,(起初的时候我是在Windows下解压完成的,将解压完成后的文件夹直接上传到Linux下,在安装执行./configure时会出现错误!!)。
现在我们解压缩文件:tar -zxv -f mpich2-1.5.tar.gz(这里是你自己的压缩文件) ,然后会出现具体的解压缩过程,解压完毕后,在/home 下会出现mpich2-1.5这个文件夹
进入该文件夹:cd mpich2-1.5 ,进入之后,接下来我们要做的工作就是要配置它的安装目录,在这之前我们先在houqingdong文件夹下创建我们存放MPICH程序的文件夹,假如该文件夹为mpiexe : cd /home/houqingdong mkdir mpiexe ,创建完成后,就执行 ./configure -prefix=/home/houqingdong/mpiexe 就是配置我们的安装目录,这里同样会等待一段时间,等成功执行后,在mpich2-1.5下会生成mkfile文件,这里我们执行的时候有时会出现这样的提示:-bash: ./configure: Permission denied 这句话是提醒我们权限不够,仔细看一下会发现configure没有x(执行)权限,这里我们要执行: chmod +x ./configure 即可,这句指令的意思是为configure增加x的权限
再一次执行:./configure -prefix=/home/houqingdong/mpiexe 同样会等一段时间,最终执行完后不会报错,才能继续向下执行,如果发生某些错误,请参考:http://hi.baidu.com/yatiklyowfbghpq/item/ee91471b36a8c6a1ffded576
上一步执行完我们接着执行: mkfile
执行完mkfile, 然后开始实际的安装 执行 mkfile install,就会看到程序正在安装,安装完成后进入/home/houqingdong/mpiexe可以看到多出了很多像bin include lib样的文件。
先在将我的第一个并行文件上传到/home/houqingdong/目录下:
程序为:
#include "mpi.h"#include <stdio.h>int main (int argc, char *argv[]) { int i; int id; /* Process rank */ int p; /* Number of processes */ void check_circuit (int, int); MPI_Init (&argc, &argv); MPI_Comm_rank (MPI_COMM_WORLD, &id); MPI_Comm_size (MPI_COMM_WORLD, &p); for (i = id; i < 65536; i += p) check_circuit (id, i); printf ("Process %d is done\n", id); fflush (stdout); MPI_Finalize(); return 0;}/* Return 1 if 'i'th bit of 'n' is 1; 0 otherwise */#define EXTRACT_BIT(n,i) ((n&(1<<i))?1:0)void check_circuit (int id, int z) { int v[16]; /* Each element is a bit of z */ int i; for (i = 0; i < 16; i++) v[i] = EXTRACT_BIT(z,i); if ((v[0] || v[1]) && (!v[1] || !v[3]) && (v[2] || v[3]) && (!v[3] || !v[4]) && (v[4] || !v[5]) && (v[5] || !v[6]) && (v[5] || v[6]) && (v[6] || !v[15]) && (v[7] || !v[8]) && (!v[7] || !v[13]) && (v[8] || v[9]) && (v[8] || !v[9]) && (!v[9] || !v[10]) && (v[9] || v[11]) && (v[10] || v[11]) && (v[12] || v[13]) && (v[13] || !v[14]) && (v[14] || v[15])) { printf ("%d) %d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d\n", id, v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],v[9], v[10],v[11],v[12],v[13],v[14],v[15]); fflush (stdout); }}
如果我们现在想编译文件: 在/home/houqingdong下执行: mpicc -o hello hello.c 这时候会提醒:-bash:mpicc command not found 这是因为我们还没有配置路径
在命令行下输入: export PATH=/home/houqingdong/mpiexe/bin:$PATH 注意:这里仅仅是暂时的设置路径,在重启后效果会消失,如果想一劳永逸的配置,请google查询
看一下我们配置是否成功可以执行一下 echo $PATH 看一下输出结果中是否有我们的路径
我们再来编译一次: mpicc -o hello hello.c
然后在/home/houqingdong 目录下会生成一个hello的可执行文件,然后运行 mpirun -n 2 ./hello 即可看到输出结果,这里我们采用2个处理器来执行。
输出结果为::
嘿嘿 。。。 大功告成!!!!
- Linux Centos下安装MPICH以及运行第一个并行程序
- Linux下安装MPICH
- ubuntu下MPICH的安装以及多机环境运行
- centos中安装gdbm以及编译运行第一个gdbm程序
- Linux下运行第一个JAVA程序
- Linux系统下MPICH的安装、配置、HelloWorld程序演示
- 在VMware虚拟机下安装Android Studio(AS)以及运行第一个HelloWorld程序
- 第一个java程序的编译和运行(linux下安装JDK)------一次编译,到处运行
- CentOS下安装QT5和编译第一个程序
- Windows下安装QT并运行第一个程序
- Windows下安装QT并运行第一个程序
- Windows下安装QT并运行第一个程序
- Linux下编译并运行的第一个程序
- Linux下MPICH的安装与使用
- eclipse下运行第一个hadoop程序
- ubuntu下运行第一个opencv程序
- Java安装和运行第一个程序
- linux下并行运行脚本与让程序可靠运行
- 每一首歌曲
- Hdu1412set实现集合合并
- HDU-2544 最短路 水题一枚
- c语言 输出所有小于n(n>=2正整数)的素数
- 我是怎么做开源的
- Linux Centos下安装MPICH以及运行第一个并行程序
- POJ2084 catalan数
- 开源软件的时代来临
- libcurl教程
- 腾讯面经
- 揭秘微软将进行开源的10大证据
- 基于VC++开发InlineHook网络数据发送接收函数
- Flex URLRequest 应用程序 页面跳转与传参
- C语言实验——各位数字之和排序