Linux下mpi环境配置与执行步骤(Ubuntu为例)
转载注明出处:
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为例)的更多相关文章
- Windows/Linux下jdk环境配置
Windows 7下: Windows7 x64位系统 安装好java 1.点击开始菜单选择计算机选项右键选择属性选项 即可 2.然后在属性界面点击如图所示的高级系统设置选项 3.打开系统属性界面然后 ...
- wxWidgets 在 Linux 下开发环境配置
本文基于 CodeBlocks (16.0.1) 和 wxWidgets (3.0.2) 搭建 Linux 下 GUI 开发环境. 1. 安装 CodeBlocks Ubuntu 默认的源当前 Cod ...
- linux下go环境配置
环境申明: centos 7.4 1.go下载最新的版本(linux) 下载本地后rz到服务器,然后tar -zxvf go1.9.2.linux-amd64.tar.gz 解压出go文件放在 ...
- linux下php环境配置
参: http://www.laozuo.org/5542.html LAMP,基于Linux/Apache/MySQL/PHP架构的网站建设环境,对于一般的网站来说足够使用,如果我们的网站访问量或者 ...
- Linux下MMDetection环境配置
1. 准备工作 Linux发行版. Pop!_OS 22.04 LTS (NVIDIA) (Ubuntu衍生) 对Linux进行配置,更改国内镜像源. 安装conda环境. 官网下载安装脚本(bash ...
- Linux下jdk环境配置
1.下载jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html 我选择64位的版本 jdk-8u121-linux ...
- LInux 下PHP环境配置 Redis 总结
系统 Deepin ,环境 PHP7.0 + Apache2 安装 Redis 服务 sudo apt-get install redis-server //安装 sudo /etc/init.d/r ...
- Linux下OCI环境配置
ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORA ...
- linux下java环境配置
非常简单的三行命令就搞定了! $ sudo add-apt-repository ppa:webupd8team/java$ sudo apt-get update$ sudo apt-get ins ...
随机推荐
- cocos2dx进阶学习之CCNode
继承关系 CCNode -> CCObject CCNode在cocos2dx中抽象舞台对象,需要渲染的对象都是从CCNode派生,包括CCScene,CCLayer,CCSprite等等 C ...
- android错误之android.content.res.Resources$NotFoundException:
错误:android.content.res.Resources$NotFoundException: String resource ID #0x1 原因:一般发生在参数 int resId 错误, ...
- android动效开篇
大神博客:http://blog.csdn.net/tianjian4592/article/details/44155147 在现在的Android App开发中,动效越来越受到产品和设计师同学的重 ...
- css3属性——border-radius用法
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <style> ...
- [Swust OJ 1125]--又见GCD(数论,素数表存贮因子)
题目链接:http://acm.swust.edu.cn/problem/1125/ Time limit(ms): 1000 Memory limit(kb): 65535 Descriptio ...
- PyQt中登录框设计
很多软件,比如QQ,亦或一些管理系统,运行之后都会先弹出一个登录框,只有登录成功了,才能进入软件主界面. 以前在邮件列表中回答过如何做登录框,这里重新整理下. 从刚开始做Delphi的时候就有不少人纠 ...
- tar 基础
如何安装---> 出门右转百度. 1.基本使用方式 tar [option] desc_file source_file desc_file 表示要生成的打包文件:source_file 表示需 ...
- ZOJ 3204 Connect them MST-Kruscal
这道题目麻烦在输出的时候需要按照字典序输出,不过写了 Compare 函数还是比较简单的 因为是裸的 Kruscal ,所以就直接上代码了- Source Code : //#pragma comme ...
- nginx sendfile tcp_nopush tcp_nodelay参数解释
sendfile 现在流行的web 服务器里面都提供 sendfile 选项用来提高服务器性能,那到底 sendfile是什么,怎么影响性能的呢?sendfile实际上是 Linux2.0+以后的推出 ...
- 打开sa属性报错
--如果打开sa属性报错如下:无法显示请求的对话框.属性IsLocked不可用于“登录名sa".该对象可能没有此属性,也可能是访问权限不足而无法检索 --解决办法:首先用windows登录, ...