Gaussian并行計算的簡單實現
一。硬件:
1:P42.8G/1G ram/120G HD
2:Ce2.0G/768M ram/80G HD
二。操作系統(tǒng):
WinXP pro, Redhat Linux(Fedora Core 1,從網上下載的光盤鏡像(.iso文件))
三。軟件:
VMware 5.0 30天體驗版 http://www.vmware.com
Linda 7.1 4節(jié)點免費版 http://www.lindaspaces.com
Gaussian98 并行版(已編譯好)
軟件說明:
VMware是一款口碑不錯的虛擬機軟件,這個軟件運行在一個操作系統(tǒng)上,可以模擬出一個硬件環(huán)境,然后將另外一套操作系統(tǒng)安裝到這個模擬的環(huán)境中。
Linda是Gaussian并行計算所需要的一個在計算機節(jié)點間進行通訊,傳輸計算數據和控制指令的軟件。
我得到的Gaussian是已經編譯好的版本,不知道是在什么環(huán)境下編譯的,但是可以在Fedora Core 1下運行。
以上軟件的詳細介紹見各自的官方網站。
四。安裝步驟
1.安裝VMware
如果你想直接在一臺機器上安裝Linux,則可以跳過1,2部分。
通過一下這個網址按要求注冊后可以獲得30天體驗版的VMware5.0:
http://www.vmware.com/vmwarestore/newstore/wkst_eval_login.jsp
注冊后vmware網站會給你注冊的email發(fā)一封信,其中有安裝需要的序列號。同時會給
出下載鏈接。
2.在vmware中創(chuàng)建Linux虛擬機
菜單File->New->Virtual Machine。Virtual machine configuration 選Custom。
Virtual machine format 選New - workstation5。
Guest operation system就是你要安裝的操作系統(tǒng)的類型,選Linux
Memory的設置要盡可能大些。一般可以指定自己機器一半的內存。
Network connection我選擇的是bridged,這樣你安裝的操作系統(tǒng)就和你的網絡上的機
器具有相同的網絡環(huán)境,網絡設置上也和你自己用的機器類似,就是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不是很熟練,建議
把所有的管理工具和系統(tǒng)設置工具也裝上。
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)所有節(jié)點機的用戶名和密碼必須相同,而且用戶名不能為root。
2)所有節(jié)點機的gaussian和linda必須裝在完全相同的目錄下。
3)/etc/hosts中包括所有節(jié)點機的IP和主機名,格式如下:
IP 主機名
例如:
192.168.0.2 node1
192.168.0.3 node2
192.168.0.4 node3
. .
. .
. .
4)/etc/hosts.equiv中包括所有節(jié)點機的主機名,格式如下:
主機名
例如:
node1
node2
node3
.
.
.
5)/home/你的用戶名/.rhosts中的內容與/etc/hosts.equiv中的相同
6)/etc/securetty這個文件中加入以下幾行:
rlogin
rsh
rexec
這時候在這臺機器上輸入:
rlogin 這臺機器的主機名
就應當可以不提示輸入密碼登錄。
7.設置Linda
只需要一個文件,在/home/你的用戶名/.tsnet.config中輸入所有的節(jié)點的主機名,和
/etc/hosts.equiv中的內容一樣。
8.設置計算節(jié)點
在/home/你的用戶名/下建立一個文件,名字任意,內容為你在計算中將要用到的節(jié)點.
格式與/etc/hosts.equiv中的相同。在本例中這個文件為.tsnet.nodes。如下箭頭所指
處。
9.設置運行環(huán)境
在/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
注意以上兩個內容應用到你的系統(tǒng)中時需要修改相應的路徑。
五。復制系統(tǒng)
完成以后工作后將Linux操作系統(tǒng)關閉,退出VMware,然后將虛擬機文件的整個文件夾
以及擴展名為vmdk的Disk file(一般為4個:機器名.vmdk,機器名-s001.vmdk,機器
名-s002.vmdk,機器名-s003.vmdk)拷貝到另外一臺也安裝了VMware的機器上,注意修
改虛擬機文件redhat.vmx中diskfile的路徑,以及機器名.vmdk中其他三個文件的路徑.
復制完成后打開vmware,選擇File->Open,browse到復制的機器名.vmdk,打開。將網
卡刪除后再添加一塊新的網卡(要不然會因為mac地址和原來的相同而發(fā)生沖突。)啟 #p#page_title#e#
動系統(tǒng),利用系統(tǒng)設置工具修改IP,主機名。依次操作,然后將所有的節(jié)點機都打開,
看能否相互無密碼rlogin。
在機器上單獨安裝Linux可以參照修改。
六。運行Gaussian
建立一個Gaussian輸入文件,盡量復雜一些,比如對一個幾十個原子的分子進行結構優(yōu)
化,這樣好有時間察看運行狀態(tài)。注意在輸入文件中指定使用的CPU數目:
%NprocLinda=你做的節(jié)點數目(這個版本的Linda最多支持4個)
在其中任何一臺計算機上,打開控制臺,輸入:
g98l <輸入文件.gjf
不指定out文件是為了即時察看運行狀態(tài)。
在本地機器進入迭代求解自洽場后(l502.exel),在其他的機器上察看進程:
ps -a
如果有l(wèi)502.exel,那么就是成功了。