CHARMM은 interactive 방식으로 아니면 input file을 만들어서 batch 방식으로 실행시키게 됩니다.

간단한 작업이라면 interactive 하게 실행할 수도 있겠지만, 대부분의 경우에는 input file을 작성합니다.

interactive 방식, 단일 CPU를 쓰는 경우, 병렬로 실행시키는 경우 등에 대하여 알아보겠습니다.


[1] Interactive mode


Unix shell prompt 에 CHARMM executable (예를 들어 c35b6.med) 을 명령어로 주면

(이것이 search path 에 들었다고 가정하고) CHARMM 이 실행됩니다.

Input file 의 내용을 한줄 한줄 키보드에서 입력하는 방식이고, 매 줄마다 주어진 CHARMM 명령이 바로 실행됩니다.

Input 도 파일로 취급하기 때문에, CHARMM의 모든 파일은 타이틀로 시작하기 때문에 일단 타이틀을 입력해야 합니다.

예를들어, 타이틀은 다음과 같이 작성할 수 있습니다.


* Job 1: model construction of a lovely peptide

* 21-Feb-2011

*


이어서 여러 가지 명령어와 옵션을 입력할 수 있습니다. CHARMM 명령은 대소문자를 구분하지 않고, 영문자 앞 4글자만 해독합니다.

따라서 MINIMIZE, Minimise, MiNi 등은 모두 동일한 miminize 명령입니다.


실행을 마치고 shell prompt 로 돌아가려면


STOP


명령을 주어 마치면 됩니다.



[2] Serial (1 CPU) run


일반 Unix 명령처럼 실행시킵니다. "<" 은 input redirector 이고 ">" 은 output redirector 입니다.

명령어의 끝에 & 를 넣으면 background 에서 실행됩니다.


c35b6 < input_file > output_file &


ps 나 top 등의 Unix 명령으로 실행 상태를 확인할 수 있습니다.

command line argument를 사용할 수 있습니다. CHARMM internal variable 에 대하여는 다음에 설명하겠지만,

command line argument로 CHARMM variable의 값을 설정할 수 있습니다. 예를 들어 1 이라는 변수에 100을

pdbid 라는 변수에 2CDN 을 설정하려면 다음과 같이 합니다. 이것은 Interactive 나 병렬실행시에도 적용됩니다.


c35b6 1=100 pdbid=2CDN < input_file > output_file &



[3] Parallel (병렬) run


Ubuntu PC에서 실행시키는 방식을 먼저 설명하겠습니다.


mpd daemon 이 실행되고 있어야 합니다. 보통 daemon의 "띄운다"고 합니다.

"~"는 자신의 홈디렉토리를 뜻하고 다음 작업은 한 번만 해 주면 됩니다.


touch ~/.mpd.conf
echo secretword=something >> ~/.mpd.conf
chmod 600 ~/.mpd.conf


something은 자신이 정한 어떤 password 입니다.

그리고 나서 언제든지 부팅시키고는 한번만 mpd daemon을 실행하면 됩니다.


mpd &


mpd daemon 이 실행되고 있으면 다음과 같이 mpirun 을 이용하여 병렬버전 c35b6 를 실행시킬 수 있습니다.


mpirun -np 4 c35b6 < input_file > output_file &


여기서 -np 4 는 CPU 를 (좀더 정확하게는 processing unit = core) 를 4개 사용하라는 뜻입니다.



[4] PBS qsub 사용


일반적으로 PBS(Public Batch System)로 병렬클러스스를 관리한다면 Job file 을 작성하여 qsub 명령으로 작업을 수행하게 됩니다.

Job file은 다음과 같이 작성합니다. #가 처음에 오면 comment 입니다 (첫줄은 예외).


#!/bin/tcsh
###########################################################
cd $PBS_O_WORKDIR
mpirun -np 8 c35b6 < input_file > output_file


여기서 $PBS_O_WORKDIR 는 input_file 등이 있는 현재 작업하고 있는 디렉토리를 뜻합니다.

mpirun 외에도 다른 여러 가지 명령을 포함시킬 수 있습니다.


qsub 명령으로 job_file 을 submit 하게 됩니다.


qsub -v np=8 -l nodes=1:htown job_file


여기서는 PU(core)를 8개 쓰되 htown 1 node를 사용하겠다고 하였습니다. qsub 의 자세한 내용은 man page 를 보세요.


Batch job 의 실행 상태는 qstat -u user_id, job 실행을 중지시키려면 qdel job_id 등의 명령을 사용합니다.


[참고] doc/usage.doc

         http://www.charmm.org/html/documentation/c35b1/usage.html

조회수 :
16559
등록일 :
2011.02.22
12:37:57
List of Articles
번호 제목 날짜 최근 수정일sort 조회수
6 CHARMM은 무엇인가? 2010-02-20 2011-02-01 11:11 10044
5 입수 2011-02-18 2013-04-10 16:02 7355
4 설치 (컴파일) 2011-02-20 2013-04-10 16:01 12200
» 실행 방식 2011-02-22 2013-04-10 16:01 16559
2 Input file 2011-02-24 2011-02-25 01:18 12736
1 CHARMM Resources - Links 2013-09-22 2013-09-22 16:43 10831

Copyright © 2010-2013 IMMM, All rights reserved.