找回密码
 注册
查看: 3272|回复: 2

并行计算的问题

[复制链接]
发表于 2006-6-13 11:15:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
每次一运行就说错误,2台机子都能互相 ping通,rsh也能通,可是主机就是要出错,另外想问一下,并行的时候,从机需要做些什么么?[br][br][以下内容由 huhu5538 在 2006年06月13日 11:15am 时添加] [br]
 楼主| 发表于 2006-6-13 11:17:25 | 显示全部楼层

并行计算的问题

发表于 2006-6-18 10:22:41 | 显示全部楼层

并行计算的问题

并行安装,关键是rsh互相连通
你要将每台机器互连最好在同一个工作组或者域下面,互相ping +机器名可以通,要有ipx协
议2k还要有netbios协议
将XX:\programming files\Ansys Inc\CFX\CFX-10.0\bin\winnt下面的rshd文件复制到windows\system32
下面(w2k要在winnt\system32下),然后打开开始--->运行输入cmd,然后在dos命令行下面转到
windows\system32下,运行rshd /install
安装,rsh,每台安装windows的机器都要这样,然后在服务(控制面板---->管理工具-->服务)
里面找到Remote Shell (RSH) Service,先停止,然后在登陆下面设置此账户(管理员权限的账户
[每台机器都要用相同的用户名和密码]),设置完毕确定,然后在启动,这时rsh启动了,最好重新
启动一下
这时用命令rsh hostname cmd /c echo working (这里面的hostname就是你想要连接机器的名字包括自己)
,出现working就是连接成功,不成功就是网络有问题,或者rsh设置错误
rsh互连了,打开你要用的主机master,打开cfx,在tools下面的command line
然后输入cfx5parallel -install-mpich-service
安装mpich
在输入cfx5parallel -register-mpich-user
这时填入的就是你刚才指定rsh运行的用户,和密码,这是每台机器共用的
这时大致就是安装完毕了,具体的一些细节可用帮助里面的方法,微调,
这时在每台机器必须要安装slover,pre和post可以没有
,但是master机器应该全安装
我一般每台都全部安装,这样用那台机器都可以做master
最后一步,是将XX:\Program Files\Ansys Inc\CFX\CFX-10.0\config下面
的hosts.ccl文件用记事本打开,
# CFX-5 Host Definition File
#
# Automatically created
# by D:\Program Files\Ansys Inc\CFX\CFX-10.0\bin\perllib\cfx5parhosts.pl
# at Fri Mar 24 13:47:16 2006.
EXECUTION CONTROL:
PARALLEL HOST LIBRARY:
HOST DEFINITION: canter
Installation Root = d:\Program Files\Ansys Inc\CFX\CFX-%v
Host Architecture String = intel_p4.sse2_winnt5.1
Relative Speed = 0.99
END # HOST DEFINITION canter
HOST DEFINITION: wd
Installation Root = e:\Program Files\Ansys Inc\CFX\CFX-%v
Host Architecture String = intel_pentium_winnt5.1
Relative Speed = 0.44
END # HOST DEFINITION wd
END # PARALLEL HOST LIBRARY
END # EXECUTION CONTROL
这时两台机器例子,你将每台机器hosts.ccl的文件中的
HOST DEFINITION: hostname
Installation Root = e:\Program Files\Ansys Inc\CFX\CFX-%v
Host Architecture String = intel_pentium_winnt5.1
Relative Speed = 0.44
END # HOST DEFINITION hostname
代码复制然后拷贝到master中的hosts.ccl里面的像上面例子一样,如果你将这
个完整的hosts.ccl放到每台机器下面,那么每台机器都可以作为master,呵呵!
今天累了,就到这吧,对了,你运行并行的时候会出现一个错误,那是因为这个
license版本不是并行用的,所以会出错误,我还没有修改好,不过可以用,我看
国外的人运行并行的时候也会出现这个错误,呵呵。
linux安装方法:
首先要做的确定你的有几个网卡,一个就不要担心了,但是多个网卡,你要注意了,
一定要用ifcong -a 找到你主要的网卡,将网卡物理地址和机器名记下,
其次要注意的是,linux一定要安装rsh和mpich,并且要每台机器互连,并且通路,
具体方法,最好的配置方式可以参照http://linux.vbird.org/home.php
鳥哥的 Linux 私房菜里面有全套的配制方法,至于NIS和NFS你是否要配置根据需要,
我没配置也能运行,但是rsh必须好用,,剩下的就是在linux上安装cfx10,安装比较麻烦,
一不小心就会出问题,下面将详细方法列出:
1:生成license在windows下面,生成方法同windows一样,但是,我采用了一点点改变,
就是把ansys.dat文件中的
DAEMON ansyslmd "C:\Program Files\Ansys Inc\Shared Files\Licensing\intel\ansyslmd.exe"
东西改变以下,改成你建立的安装目录
如/usr/cfx10下面那么就改成DAEMON ansyslmd "/usr/cfx10/shared_files/licensing/linia32/ansyslmd"将
VENDOR_STRING=customer:00264721 中的数字不同机器用不同的编号,如改成
VENDOR_STRING=customer:00264720
我这样做是为了不会产生用户冲突,不知道真的能否改变,但是现在看来没出问题。
将生成的license.dat放到linux服务器上
2:在终端根目录下用vi .bash_profile命令打开 .bash_profile文件,配置环境变量,
加入ANSYSLMD_LICENSE_FILE=1055@hostname
hostname是你的机器名子,可比以为是参数,注意变量名ANSYSLMD_LICENSE_FILE紧贴着=号,否则不认
同理填入LM_LICENSE_FILE={这里填入的是你安装license的目录例如
"/usr/cfx10/shared_files/licensing/license.dat}
然后在export后面变量名中填入ANSYSLMD_LICENSE_FILE和LM_LICENSE_FILE,
这时侯,重新启动机器,为了让变量生效,否则后面要出问题
3:重启后,挂上光驱,装入安装盘
命令: mount -t iso9660 -o loop {安装文件位置和文件名} {装在光驱的文件目录}
成功后,继续下步。
进入光盘,找到install文件
在终端中./install
按照提示安装,我先安装程序,后安装license manager,谁先谁后都没关系,但是master上面全部安装
,而solver上面最少要安装solver,我一般不论master还是solver都安装,因为这样可以将任何一台机器
都作为master,根据你的需要。安装程序没什么说的,但是安装license manager的时候要千万小心了,
我是将每台机器都作为license server(不用说,是为了方便),每个都用自己的license。当让你安装
license的时候,2种方法都可以,一个是指定license位置,一个是生成一个license,
第一种方法,你要先将1:中生成的license.dat文件考贝到license安装目录,
例如/usr/cfx10/shared_files/licensing/下面,因为及其比较傻,就认识这个地方,
呵呵,如果没有出现 /shared_files/licensing这个目录别着急,是因为你安装license manager
的时候程序没复制完,
复制完了就会出现的。第二种方法就是你用gedit或者相同东西打开你的1:中生成的
license.dat,
全拷贝,然后粘贴在你生成文件中,这样也可以生成license.dat文件在你安装目录里面。
为了保证这一过程正确,你可以打开目录/shared_files/licensing看到安装成功后会出现license.log文件,
然后在出现一个ansyslmd.ini文件,打开ansyslmd.ini,看到server=1055@hostname这个东西,如果不是这个,
那么就你安装有问题了,检查一下。安装完成后会提示你启动license,当然yes了,不要高兴太早,
因为,如果你一旦重新启动机器那么license会自动关闭,你需要启动license,方法两种,在终端中进到
/usr/cfx10/shared_files/licensinglinia32
目录下面然后运行./lmgrd -c /usr/cfx10/shared_files/licensing/license.dat启动license。
或者在/usr/cfx10/CFX-10.0/bin运行。./cfx5launch命令,
然后在cfx平台上点击tools选择ansys license manager,出现后点击start license,
这时窗口出现runing就是启动了,否则就是你安装错误了,回去检查。
其实你可以在/etc/rc.d/rc文件中最后一行填入
/usr/cfx10/shared_files/licensinglinia32/lmgrd -c /usr/cfx10/shared_files/licensing/license.dat
这样每次重新启动都会自动启动license了
这时你再单机运行一下程序做个例子,看看有没有问题,如果没有那么,告诉你,你可以做并行了,
但是还要有一步,就是找到host.ccl文件,将所有机器的这个文件合成一个,然后放到每他机器里面,
我的位置在/usr/cfx10/CFX-10.0/config中,具体参照windows中的方法
现在恭喜你,你可以做并行了,但是并行不一定就一定快,多少网格,占用多少内存,
多大工作量用多少个节点看看help里面由计算公式,还要根据具体情况具体分析,和你的配置也有关。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表