Gaussian并行计算的简单实现
一。硬件:
1:P42.8G/1G ram/120G HD
2:Ce2.0G/768M ram/80G HD
二。操作系统:
WinXP pro, Redhat Linux(Fedora Core 1,从网上下载的光盘镜像(.iso文件))
三。软件:
VMware 5.0 30天体验版 http://www.vmware.com
Linda 7.1 4节点免费版 http://www.lindaspaces.com
Gaussian98 并行版(已编译好)
软件说明:
VMware是一款口碑不错的虚拟机软件,这个软件运行在一个操作系统上,可以模拟出一个硬件环境,然后将另外一套操作系统安装到这个模拟的环境中。
Linda是Gaussian并行计算所需要的一个在计算机节点间进行通讯,传输计算数据和控制指令的软件。
我得到的Gaussian是已经编译好的版本,不知道是在什么环境下编译的,但是可以在Fedora Core 1下运行。
以上软件的详细介绍见各自的官方网站。
四。安装步骤
1.安装VMware
如果你想直接在一台机器上安装Linux,则可以跳过1,2部分。
通过一下这个网址按要求注册后可以获得30天体验版的VMware5.0:
http://www.vmware.com/vmwarestore/newstore/wkst_eval_login.jsp
注册后vmware网站会给你注册的email发一封信,其中有安装需要的序列号。同时会给
出下载链接。
2.在vmware中创建Linux虚拟机
菜单File->New->Virtual Machine。Virtual machine configuration 选Custom。
Virtual machine format 选New - workstation5。
Guest operation system就是你要安装的操作系统的类型,选Linux
Memory的设置要尽可能大些。一般可以指定自己机器一半的内存。
Network connection我选择的是bridged,这样你安装的操作系统就和你的网络上的机
器具有相同的网络环境,网络设置上也和你自己用的机器类似,就是IP地址不同。
注意最后设置Disk file时,一定要自己指定Disk file的路径到一个剩余空间最大的驱
动器,在本例中,disk file将达到2G多的大小。
其他选项默认就可以了。
3.安装Linux
注:这一部分及以下部分需要Linux基础知识才能看懂。
双击Devices那一栏中的CD-ROM,Connection中选Use ISO image,browse到Linux第一
张光盘的镜像文件。然后Start this virtual machine.
Linux的安装不再详述,这方面网上的资料很多,只需注意如果你硬盘空间足够大,选
择安装所有模块就可以了,这样省事。如果空间有限,注意安装几个和C有关的编译器
,以及rlogin,rsh,rexec,telnet这些服务一定要安装。如果对linux不是很熟练,建议
把所有的管理工具和系统设置工具也装上。
4.安装Gaussian
我得到的是编译好的版本,所以无需再次编译,直接解包解压缩就可以了。我把解包后
的文件夹放到了/usr目录下。目录结构大概如下:
/usr/g98
/usr/g98/bsd
/usr/g98/linda-exe
.
.
.
5.安装Linda
下载的Linda是rpm文件,在图形界面中双击就自动安装了,默认安装到
/usr/sca
目录下,我忘了字符模式下的安装方法。
6.设置Linux的rlogin #p#page_title#e#
这是很重要的一部分,最终的目标就是在控制台中输入rlogin nodeN就可以直接登录到
主机名为nodeN的计算机上。达到这个目的有以下几个要求。
1)所有节点机的用户名和密码必须相同,而且用户名不能为root。
2)所有节点机的gaussian和linda必须装在完全相同的目录下。
3)/etc/hosts中包括所有节点机的IP和主机名,格式如下:
IP 主机名
例如:
192.168.0.2 node1
192.168.0.3 node2
192.168.0.4 node3
. .
. .
. .
4)/etc/hosts.equiv中包括所有节点机的主机名,格式如下:
主机名
例如:
node1
node2
node3
.
.
.
5)/home/你的用户名/.rhosts中的内容与/etc/hosts.equiv中的相同
6)/etc/securetty这个文件中加入以下几行:
rlogin
rsh
rexec
这时候在这台机器上输入:
rlogin 这台机器的主机名
就应当可以不提示输入密码登录。
7.设置Linda
只需要一个文件,在/home/你的用户名/.tsnet.config中输入所有的节点的主机名,和
/etc/hosts.equiv中的内容一样。
8.设置计算节点
在/home/你的用户名/下建立一个文件,名字任意,内容为你在计算中将要用到的节点.
格式与/etc/hosts.equiv中的相同。在本例中这个文件为.tsnet.nodes。如下箭头所指
处。
9.设置运行环境
在/home/你的用户名/.bashrc文件的最后加入以下内容:
export PATH=${PATH}:"./"
export g98root=/usr
export PATH=${PATH}:"${g98root}/sca/linda7.1/intel-linux2.4-ws3/bin"
export LINDA_PATH="${g98root}/sca/linda7.1/intel-linux2.4-ws3/bin"
. ${g98root}/g98/bsd/g98.profile
在/home/你的用户名/.bash_profile文件的最后加入以下内容:
export GAUSS_LFLAGS="-nodefile /home/你的用户名/.tsnet.nodes" <--
export g98root=/usr
export PATH=${PATH}:"./"
export PATH=${PATH}:"${g98root}/g98/linda7.1/intel-linux2.4-ws3/bin"
export LINDA_PATH="${g03root}/g03/linda7.1/intel-linux2.4-ws3/bin"
. ${g98root}/g98/bsd/g98.profile
注意以上两个内容应用到你的系统中时需要修改相应的路径。
五。复制系统
完成以后工作后将Linux操作系统关闭,退出VMware,然后将虚拟机文件的整个文件夹
以及扩展名为vmdk的Disk file(一般为4个:机器名.vmdk,机器名-s001.vmdk,机器
名-s002.vmdk,机器名-s003.vmdk)拷贝到另外一台也安装了VMware的机器上,注意修
改虚拟机文件redhat.vmx中diskfile的路径,以及机器名.vmdk中其他三个文件的路径.
复制完成后打开vmware,选择File->Open,browse到复制的机器名.vmdk,打开。将网
卡删除后再添加一块新的网卡(要不然会因为mac地址和原来的相同而发生冲突。)启 #p#page_title#e#
动系统,利用系统设置工具修改IP,主机名。依次操作,然后将所有的节点机都打开,
看能否相互无密码rlogin。
在机器上单独安装Linux可以参照修改。
六。运行Gaussian
建立一个Gaussian输入文件,尽量复杂一些,比如对一个几十个原子的分子进行结构优
化,这样好有时间察看运行状态。注意在输入文件中指定使用的CPU数目:
%NprocLinda=你做的节点数目(这个版本的Linda最多支持4个)
在其中任何一台计算机上,打开控制台,输入:
g98l <输入文件.gjf
不指定out文件是为了即时察看运行状态。
在本地机器进入迭代求解自洽场后(l502.exel),在其他的机器上察看进程:
ps -a
如果有l502.exel,那么就是成功了。