转载注明出处:

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

以两台计算机为例,将这两台计算机应用于MPI运行环境。

第一步:在两台机器上安装Linux 操作系统

我安装的是ubuntu 12.04,主机名随便你自己取,我命名两台机器为sinco和cosin。

第二步:为两台机器设置固定的IP

当然,我这里假设两台机器属于同一个局域网中。

我设置sinco的IP为192.168.0.2

cosin的IP为192.168.0.3

第三步:设置通过主机名登录(需要ROOT)

编辑sinco上的/etc/hosts 文件,文件的前几行修改成如下形式

127.0.0.1     localhost
192.168.0.2 sinco
192.168.0.3 cosin

编辑cosin上的/etc/hosts 文件,文件的前几行也他哦功能样修改成如上形式

第四步:设置无密码登录

我默认两台机器上已经安装了ssh服务器,如果不能ssh登录,安装一下ssh就行了。别忘了安装就行。

在sinco上,你的用户目录下进入 .ssh 目录,如果没有这个目录,就先创建他,进入之后,执行下面的命令:

执行:

ssh-keygen -t dsa

在.ssh目录下会产生两个文件,id_dsa  id_dsa.pub。

执行:

 cat id_dsa.pub >> authorized_keys 

把id_dsa.pub和authorized_keys一起拷贝到cosin机器上的.ssh目录下,如果你也想从cosin机器上无需密码登录回sinco机器上,只要将id_dsa一起拷贝到cosin的.ssh目录下就行了。

实验一下前四步是否成功,在sinco上执行ssh cosin,如果没有密码就登录上去了,说明成功了。如果不行,你就需要在看看是不是做错哪个步骤了。

第五步:编译和安装MPICH

我用的版本是MPICH-3.0.4 , 下载后,解压,安装配置如下:

./configure --enable-fc --enable-cxx --enable-romio --enable-threads=multiple --prefix=${HOME}/soft/mpich2/3.0.4 --with-pm=mpd
make
make install

两台机器都要这样安装MPICH

第六步:设置环境变量

由于我安装到了非标准目录下,所以要设置下环境变量。

我用的是bash shell,编辑~/.bashrc

在文件的末尾,添加如下几行

export PATH=${HOME}/soft/mpich2/3.0.4/bin:${PATH}
export LD_LIBRARY_PATH=${HOME}/soft/mpich2/3.0.4/lib:${LD_LIBRARY_PATH}
export MANPATH=${HOME}/soft/mpich2/3.0.4/share/man:${MANPATH}

两台机器的.bashrc都要这样设置

第七步:设置进程管理器

我用的是mpd,这一点在mpich编译的时候就指定了。

在两台机器上,编辑${HOME}/mpd.hosts

添加如下两行:

sinco:4
cosin:4

4指的是CPU的个数,我假设两台机器都有四个CPU。

在两台机器上编辑${HOME}/.mpd.conf文件,添加一行:

MPD_SECRETWORD=mypasswd

第八步:启动与测试进程管理器

我在sinco启动进程管理器,

mpdboot -n 2

-n 2 指定启动两个节点。

测试一下:

mpdtrace

如果输出两个主机名,说明测试成功。

测试下mpiexec

mpiexec -n 2 ls -l

看下输出结果是否正确。

第九步:执行自己的MPI程序

我现在用的机器是两台独立的机器,他们没有共享硬盘空间,所以,我只能从一个机器拷贝到另一个机器执行程序,例如我在$HOME目录下有个mpi01.exe,想让他在两个机器上运行下。可以这样做。

将这个程序拷贝到另一个机器上的$HOME目录下。

然后执行:

mpiexec -wdir $HOME -n 2 ./mpi01.exe

Linux下mpi环境配置与执行步骤(Ubuntu为例)的更多相关文章

  1. Windows/Linux下jdk环境配置

    Windows 7下: Windows7 x64位系统 安装好java 1.点击开始菜单选择计算机选项右键选择属性选项 即可 2.然后在属性界面点击如图所示的高级系统设置选项 3.打开系统属性界面然后 ...

  2. wxWidgets 在 Linux 下开发环境配置

    本文基于 CodeBlocks (16.0.1) 和 wxWidgets (3.0.2) 搭建 Linux 下 GUI 开发环境. 1. 安装 CodeBlocks Ubuntu 默认的源当前 Cod ...

  3. linux下go环境配置

    环境申明: centos 7.4 1.go下载最新的版本(linux) 下载本地后rz到服务器,然后tar -zxvf  go1.9.2.linux-amd64.tar.gz   解压出go文件放在 ...

  4. linux下php环境配置

    参: http://www.laozuo.org/5542.html LAMP,基于Linux/Apache/MySQL/PHP架构的网站建设环境,对于一般的网站来说足够使用,如果我们的网站访问量或者 ...

  5. Linux下MMDetection环境配置

    1. 准备工作 Linux发行版. Pop!_OS 22.04 LTS (NVIDIA) (Ubuntu衍生) 对Linux进行配置,更改国内镜像源. 安装conda环境. 官网下载安装脚本(bash ...

  6. Linux下jdk环境配置

    1.下载jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html 我选择64位的版本 jdk-8u121-linux ...

  7. LInux 下PHP环境配置 Redis 总结

    系统 Deepin ,环境 PHP7.0 + Apache2 安装 Redis 服务 sudo apt-get install redis-server //安装 sudo /etc/init.d/r ...

  8. Linux下OCI环境配置

    ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORA ...

  9. linux下java环境配置

    非常简单的三行命令就搞定了! $ sudo add-apt-repository ppa:webupd8team/java$ sudo apt-get update$ sudo apt-get ins ...

随机推荐

  1. MFC的最大化,最小化,关闭

    最大化.最小化和关闭按钮是窗口中最主要的元素.首先要说明,说他们是按钮其实是不准确的,按钮是一种窗口,而这三个组件根本就不是窗口,而是一个窗口常见的组成部分.出于习惯的原因,这里还是称呼他们为按钮. ...

  2. pycurl,Python cURL library

    pycurl — A Python interface to the cURL library Pycurl包是一个libcurl的Python接口.pycurl已经成功的在Python2.2到Pyt ...

  3. Treasure Exploration(二分最大匹配+floyd)

    Treasure Exploration Time Limit: 6000MS   Memory Limit: 65536K Total Submissions: 7455   Accepted: 3 ...

  4. Hibernate级联操作和载入机制(二) cascade and fetch

    上一篇介绍了Hibernate持久化对象时候的级联操作.本篇介绍读取时候的级联操作. 还是用上一篇的样例.一份问卷有多个问题.可是每一个问题仅仅能属于一份问卷. 我们先看測试用例: @Test pub ...

  5. rbd块映射

    rbd块映射: root@u18:~# rbd create kvm/test002.img --size root@u18:~# rbd info kvm/test002.img rbd image ...

  6. [转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡

    原文连接: CENTOS 6.5 配置YUM安装NGINX  http://blog.sina.com.cn/s/blog_69f467b70102uyux.html 参考博文: Centos下安装. ...

  7. 简单cpu处理器

    在135例中有一个简单处理器的程序,稍作修改成自己的风格 //date :2013/8/22 //designer :pengxiaoen //function get a mpc with veri ...

  8. Android学习笔记:使用ViewPager组件实现图片切换

    在很多App中,尤其是第一次安装启动后,都会出现几个图片进行一些app的介绍和说明,图片可以随着滑动而切换. 我们这里利用 ViewPager组件来演示如何实现这一点. 1.创建一个app工程,默认创 ...

  9. php启用gzip压缩

    GZIP(GNU-ZIP)是一种压缩技术.经过GZIP压缩后页面大小可以变为原来的30%甚至更小.这样用户浏览的时候就会感觉很爽很愉快! 要实现GZIP压缩页面需要浏览器和服务器共同支持,实际上就是服 ...

  10. 转:Bootstrap研究 精巧的网格布局系统

    本网格布局系统属于Scaffolding(框架,布局)部分.在Scaffolding里面有(固定)网格布局(Grid System)和流式网格布局(Fluid Grid System).本文讨论第一种 ...