Chemistry 版 (精华区)

发信人: zjliu (秋天的萝卜), 信区: Chemistry
标  题: Gaussian并行计算的简单实现[zz]
发信站: BBS 哈工大紫丁香站 (Tue Aug  2 14:29:01 2005)

发信人: gentboy (1?为什么要说又呢), 信区: Gaussian
标  题: Gaussian并行计算的简单实现
发信站: BBS 大话西游站 (Sun Jul 31 10:18:31 2005), 转信

〇。技能要求
三年以上计算机使用经验,了解操作系统的概念,熟悉Linux或手头上有本Linux入门级
的书
会上网查资料和在BBS上问问题。会使用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
    这是很重要的一部分,最终的目标就是在控制台中输入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地址和原来的相同而发生冲突。)
启动系统,利用系统设置工具修改IP,主机名。依次操作,然后将所有的节点机都打
开,看能否相互无密码rlogin。
    在机器上单独安装Linux可以参照修改。
    在机器上单独安装Linux可以参照修改。
六。运行Gaussian
    建立一个Gaussian输入文件,尽量复杂一些,比如对一个几十个原子的分子进行结
构优化,这样好有时间察看运行状态。注意在输入文件中指定使用的CPU数目:
    %NprocLinda=你做的节点数目(这个版本的Linda最多支持4个)
    在其中任何一台计算机上,打开控制台,输入:
    g98l <输入文件.gjf
    不指定out文件是为了即时察看运行状态。
    在本地机器进入迭代求解自洽场后(l502.exel),在其他的机器上察看进程:
    ps -a
    如果有l502.exel,那么就是成功了。

参考文献&致谢:
[1] yinpenggang,建立PC-Cluster for QC,www.redcluster.net
[2] Clarence K. Din and James C. Ianni,Gaussian03-on-Coffee Newbie Guide,
    Department of Chemistry,University of Pennsylvania,June 2005
[3] 水木社区 LinuxApp版
[4] Elizerbeth, UniPod, Stanford.edu
[5] 量子化学网,http://www.quantumchemistry.net
[6] VMware,VMware Inc. http://www.vmware.com
[7] sysop, 简易cluster架设,动力论坛,http://www.lasg.ac.cn

注:为了方便大家,我尽量把过程写的详细些,但是可能还是会有不少人不能看懂,另
外本人水平所限,可能有些地方不正确或不完善,欢迎大家和我交流。
QQ:9388737 MSN:gentboy@msn.com Email:gao_de@163.com

※ 来源:·哈工大紫丁香 http://bbs.hit.edu.cn·[FROM: 202.118.229.*]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.472毫秒