高性能计算

Linux下MPICH2安装&运行

2008年10月29日 阅读(429)

目前运行mpi程序时,遇到如下问题:

1.运行mpirun -n 4 test

cannot connect to local mpd (/tmp/mpd2.console_balay); possible causes: 1. no mpd is running on this host 2. an mpd is running but was

采用mpdboot命令尝试打开mpd时又遇到如下问题:
mpd failed to start correctly on duanple-desktop reason: 0 invalid port from mpd configration file /home/duanple/.mpd.conf not found

解决方法如下:

cd $HOME

touch .mpd.conf
chmod 600 .mpd.conf
然后运行 mpdboot 即可。

 2.运行mpirun -n 4 test无法显示printf的打印内容

解决方法采用test的全路径,即mpirun -n 4 /home/duanple/test

就显示了

 

想停止并行运行环境
mpdcleanup

下面是其他的命令

mpdexit         mpdringtest     mpiexec
mpartition    mpd           mpdroot         mpif77
mpdallexit      mpdhelp         mpdrun          mpirun
mpdboot         mpdkilljob      mpdsigjob       mplex
mpost mpdcheck          mpdtrace        mpto
mpdlistjobs    mptopdf mpicc
mpdcleanup      mpich2version mpicxx

 

—————————————————————————————————————————————-

zz一篇文章,很全面的环境介绍

 

转载自:http://blog.csdn.net/tobeabetterman_he/archive/2006/08/29/1135411.aspx

 Linux下MPICH2集群系统安装手册(采用建立信任ssh)    

这是我几天来研究学习的一点成果,发出来与大家共享。其中有什么不足之处请批评指正!

说明:本系统测试环境为Redhat9.0完全安装,并且以获得mpich2-1.0.1.tar.gz软件包。假设你的mpich2-1.0.1.tar.gz软件包已经下载到/root/目录下。以root用户登录。要求会使用vi文本编辑器修改文件。下面以四台pc为例。

准备工作:设置IP,更改主机名为node01,node02,node03,node04.

一、创建SSH信任连接(在root目录下)

1、更改/etc/hosts文件
#vi /etc/hosts   打开hosts文件,更改如下:

   127.0.0.1 localhost.localdomain localhost
   node01的IP scc-m
   node01的IP node01
   node02的IP node02
   node03的IP node03
   node04的IP node04

2、在node01生成SSH秘钥对.
#ssh-keygen -t rsa 一路回车即可
产生.ssh文件,
#ls -a   查看是否有.ssh文件夹

3、进入.ssh目录
#cd .ssh

4、生成authorized_keys文件
#cp id_rsa.pub authorized_keys

5、退出到root目录
#cd ..

6、建立本身的信任连接
#ssh node01     按提示输入yes(三个字母要打全)

7、设置node02(node02的root目录下)
#ssh-keygen -t rsa      生成.ssh文件夹
#scp node01的IP:/root/.ssh/* /root/.ssh    拷贝node01上的.ssh文件夹覆盖本地的
#scp node01的IP:/etc/hosts /etc/hosts      拷贝node01上的hosts文件覆盖本地的
#ssh node01 提示处输入yes回车

设置node03,node04的方法与node02相同

8、确认四台机器的信任连接已建立
对每个节点执行:
#ssh node01
#ssh node02
#ssh node03
#ssh node04
在提示处输入yes回车,最后确定无需输入密码并且没有任何提示信息即可登陆("Last login:时间日期"提示信息除外)

二、安装MPICH2(在节点root目录下)

1、解压缩
#tar -zxvf mpich2-1.0.1.tar.gz
或者 #gunzip -c mpich2-1.0.1.tar.gz|tar xf mpich2-1.0.1.tar

2、创建安装目录
#mkdir /usr/MPICH-instsll

3、进入mpich2解压目录
#cd mpich2-1.0.1

4、设置安装目录
#./configure –prefix=/usr/MPICH-install

5、编译
#make

6、安装
#make install

7、退出到root目录
#cd ..

8、通过编辑.bashrc文件修改环境变量
#vi .bashrc
修改后的.bashrc文件如下:

# .bashrc

# User specific aliases and functions

alias rm=’rm -i’
alias cp=’cp -i’
alias mv=’mv -i’

PATH="$PATH:/usr/MPICH-install/bin"   新增加的

#Source global definitions
if [ -f /etc/bashrc ]; then
   . /etc/bashrc
fi

9、测试环境变量设置
#which mpd
#which mpicc
#which mpiexec
#which mpirun

10、修改/etc/mpd.conf文件,内容为secretword=myword
#vi /etc/mpd.conf

设置文件读取权限和修改时间
#touch /etc/mpd.conf
#chmod 600 /etc/mpd.conf

11、创建主机名称集合文件/root/mpd.hosts
#vi mpd.hosts

文件内容如下:
node01
node02
node03
node04

三、测试

1、本地测试
#mpd &    启动
#mpdtrace 观看启动机器
#mpdallexit 退出

2、通过mpd.hosts运行集群系统
#mpdboot -n number -f mpd.hosts        number为要起动的机器个数
#mpdtrace
#mpdallexit

3、测试运行MPICH的例子程序
#mpdboot -n 4 -f mpd.hosts   启动4台机器
#mpiexec -n number /usr/MPICH-install/examples/cpi     number为使用的进程数
#mpdallexit

4、如果测试不能通过,请进行第四步

四、问题解决

1、通过mpdcheck获得一写帮助信息
#mpdcheck -pc

2、查错
#mpdcheck -l

3、通过mpd.hosts文件查错
#mpdcheck -f mpd.hosts 如果无错误
#mpdcheck -f mpd.hosts -ssh

4、如果上述无错误,可略过此步
对任意两台机器进行查错
m1: #mpdcheck -s 输出主机名host和端口port
m2: #mpdcheck -c host port

注意:以上四步都是在没有运行mpd的情况下进行的

5、mpd查错
m1: #mpd -e & 返回使用的端口
m2: #mpd -h m1 -p echoed_port_m1 &

以上测试通过,集群系统就建成了。

哈工大深圳研究生院智能计算实验室
贾荣斌
       2005.9.2

 

You Might Also Like