網頁

2020年3月21日 星期六

NAMD安裝在cluster

NAMD的MPI並行配置和運行
NAMD 2.9是一個非常好的分子模擬程序,深受本蟲的喜愛,但是為了讓這個傢伙進行多節點並行,本蟲斷斷續續花了將近好幾天終於在最近搞定了。
當然,如果你不需要進行多節點的並行,只需要單機並行,直接下載multicore版本預編譯好的NAMD即可。
之前,本蟲用的超算上面,NAMD 2.9 都是別人已經編譯安裝好的並行版本,直接寫腳本調用就是。但是,如果你自己有集群,或者你所在的教研室有集群,那麼就需要你自己配置編譯了。
注意:整個編譯配置過程不需要最高權限,所以假如你沒有最高權限的賬戶,也是可以完成編譯安裝的。
* 首先,我們要確保集群上已經安裝了Open MPI, 怎麼看有沒有裝呢?
使用
      which mpiexec
或者
       which mpirun
看看有沒有反饋出來路徑,如果有就是已經安裝了,如果木有,就是還沒安裝,需要額外的安裝步驟,此處不做贅述。
* 確認我們的集群上已經有Open MPI之後,我們要開始NAMD的編譯了。首先第一步就是從NAMD的UIUC大學的官網下載源代碼包,然後按照其中的notes.txt進行操作。為了最大程度的減少大家的操作難度,這裡我們把步驟都寫出來:
 
tar xzf NAMD_2.9_Source.tar.gz
cd NAMD_2.9_Source
tar xf charm-6.4.0.tar
cd charm-6.4.0
其中NAMD_2.9_Source.tar.gz 是我們下載下來的安裝包
然後繼續:

env MPICXX=mpicxx ./build charm++ mpi-linux-x86_64 --with-production
cd mpi-linux-x86_64/tests/charm++/megatest
make pgm
mpirun -n 4 ./pgm
cd ../../../../..
接著下載一些必須的庫

wget http://www.ks.uiuc.edu/Research/ ... linux-x86_64.tar.gz
tar xzf fftw-linux-x86_64.tar.gz
mv linux-x86_64 fftw
wget http://www.ks.uiuc.edu/Research/ ... linux-x86_64.tar.gz
wget http://www.ks.uiuc.edu/Research/ ... _64-threaded.tar.gz
tar xzf tcl8.5.9-linux-x86_64.tar.gz
tar xzf tcl8.5.9-linux-x86_64-threaded.tar.gz
mv tcl8.5.9-linux-x86_64 tcl
mv tcl8.5.9-linux-x86_64-threaded tcl-threaded
mv這兩行是將兩個文件夾改名。
下面是設置3個文件中變量的值,
現在我們應該還是在NAMD_2.9_Source這個文件夾內。
將Make.charm中CHARMBASE的值設置為charm-6.4.0這個文件夾的全路徑(包括此文件夾本身),比如~/Desktop/NAMD/charm-6.4.0
將arch/Linux-x86_64.fftw中第一個路徑設置為fftw這個文件夾的全路徑
將arch/Linux-x86_64.tcl文件中的第1、2個路徑分別設置為tcl和 tcl-threaded的全路徑
設置完畢後,進行編譯前的配置:

./config Linux-x86_64-g++ --charm-arch mpi-linux-x86_64
cd Linux-x86_64-g++
然後進行編譯

make
然後進行測試,

./namd2
./namd2 src/alanin
到這裡算是安裝好了NAMD,下面進行並行測試,
首先建立一個hosts.txt文件,讓MPI知道哪些節點上有資源:
hosts.txt:
node1
node2
假設這兩個節點都有12個線程可以使用,我們可以一共用24個線程,下面我們使用這樣的命令:

mpiexec -np 24 -machinefile /path/to/hosts.txt /path/to/NAMD_2.9_Source/Linux-x86_64-g++/namd2 +isomalloc_sync /path/to/conf.conf > /path/to/out/log



參考
http://bbs.keinsci.com/thread-5462-1-1.html

沒有留言:

張貼留言