NAMD 2.6의 소스와 기타 필요한 소스들을 클러스터의 /tmp/NAMD/에 올려놓았습니다.

클러스터의 자신의 계정에서 컴파일하는 방법을 알려드리겠습니다. 물론 관리자 권한으로 유저 모두가 사용할수 있게 할 수도 있지만, 사용하다보면 소스코드를 수정하고 다시 컴파일하게 될 가능성이 높기 때문에, 우선은 독립적으로 소스를 관리하는 것이 좋겠습니다.

1. NAMD의 소스의 압축을 풉니다.
$mkdir ~/NAMD
$cd NAMD
$cp /tmp/NAMD/* ./
$tar zxvf NAMD_2.6_Source.tar.gz
2.fftw와 tcl을 설치합니다.
먼저 C 컴파일러를 인텔 컴파일러로 설정합니다.
$export CC=icc
/home/userID/NAMD/에서,
$mkdir fftw
$mv fftw-2.1.5.tar.gz ./fftw
$cd fftw
$tar zxvf fftw-2.1.5.tar.gz
$cd fftw-2.1.5
$./configure –enable-float –enable-type-prefix –enable-static –prefix=/home/userID/NAMD/fftw
$make
$make install
$cd ~/NAMD
$mkdir tcl
$mv tcl8.4.14-src.tar.gz ./tcl
$cd tcl
$tar zxvf tcl8.4.14-src.tar.gz
$cd tcl8.4.14
$cd unix
$./configure –disable-shared –enable-64bit –prefix=/home/userID/NAMD/tcl
$make
$make install

3. charm++을 설치합니다.
$cd ~/NAMD/NAMD_2.6_Source
$tar xvf charm-5.9.tar
$cd charm-5.9
$./build charm++ net-linux-amd64 icc -no-build-shared -O -DCMK_OPTIMIZE=1
$ls
net-linux-amd64-icc라는 디렉토리가 생겼을 겁니다. 한번 테스트 해봅시다.
$cd net-linux-amd64-icc
$cd examplex/charmm++/queens
$make
$./charmrun ./pgm 12 6 +p2 ++local
몇초후 답이 나옵니다.
4. 이제 소스를 컴파일해봅시다. 몇가지 변수를 자신의 계정에 맞게 고쳐야 합니다.
$cd ~/NAMD/NAMD_2.6_Source
‘Make.charm’이라는 파일에서 ‘CHARMBASE’라는 변수를 아래와 같이 고칩니다.
CHARMBASE=/home/userID/NAMD/NAMD_2.6_Source/charm-5.9
$cd arch
‘Linux-amd64.fftw’라는 파일의 ‘FFTDIR’변수를 고칩니다.
FFTDIR=/home/userID/NAMD/fftw
‘Linux-amd64.tcl’라는 파일의 ‘TCLDIR’과 ‘TCLLIB’변수를 고칩니다.

** 추가 ./arch/Linux-amd64.tcl 파일에서 TCLFLAGS=-DNAMD_TCL 옆에 -DUSE_NON_CONST를 추가합니다.
TCLDIR=/home/userID/NAMD/tcl
TCLLIB의 tcl 버전이 -ltcl8.4로 합니다.
‘Linux-amd64-icc.arch’파일에서
CHARMARCH=net-linux-amd64-icc
로 합니다.
$cd ..
$./config tcl fftw Linux-amd64-icc
$cd Linux-amd64-icc
$make
이제 컴파일이 끝났습니다. ‘namd2’나 ‘psfgen’등의 실행파일이 생겼을 겁니다.
이 ‘namd2’가 시뮬레이션할때 쓰는 최종 실행파일이 되겠습니다.

그런데, 우리 시스템에서는 소스코드를 약간 수정한 부분이 있습니다. 이 코드로 바꾸어 다시 컴파일 해봅시다.
아마 /tmp에서 파일을 복사해올때 ComputeAngles.C라는 파일도 ~/NAMD에 복사되었을 겁니다. 소스코드에 있는 같은 이름의 파일을 이것으로 바꿉니다.
$cd ~/NAMD
$cp ComputeAngles.C ./NAMD_2.6_Source/src
다시 컴파일 합니다.
$cd NAMD_2.6_Source/Linux-amd64-icc
$make
아까 처음에 할때보다 간단히 끝날겁니다.
바꿔치기한 파일 하나만 다시 컴파일해서 링크하면 되기 때문입니다.
이제야 NAMD를 사용할 준비가 다 되었네요.
수고하셨습니다.