pgi compiler 환경에서 lammps 설치하기

출처 : http://pc.oopslinux.com/index.php?left=bbs&right=tech
작성사 요청시 자삭함.


pgi compiler 환경에서 lammps 설치하기


1. 시스템 및 소프트웨어 환경
1.1 시스템은 x86기반 리눅스 클러스터로, MPI용 네트웍은 이더넷이며,
    운영체제는 CentOS 4.2 (RedHat EL4 update2 호환) 입니다.
1.2 패키지 버전
- lammps-4Oct06 ( http://lammps.sandia.gov/download.html : 오픈소스 )
* LAMMPS upgrade를 선택하여 다운로드 합니다.

* mpich는 이미 설치 되었다고 가정합니다. (기술자료 참고)
* 이 문서의 작업 예는 root계정에서 실행하는 것입니다.
* vi를 실행하는것은, 그 이후에 나오는 코드를 해당 파일에 추가하거나,
  편집하는 것을 뜻합니다.

2. lammps-4Oct06 설치
- 압축을 풀고, 다음과 같이 Makefile.pgi를 생성합니다.
==========================================================================
# tar xzvf ./lammps-upgrade.tar.gz
# cd ./lammps-4Oct06/src/MAKE
# vi Makefile.pgi
-----------------------------------------------
nux = RedHat Linux box, PGI pgcc, MPICH, FFTW

SHELL = /bin/sh
#.IGNORE:

# System-specific settings

CC =            mpiCC
CCFLAGS =       -O -I/usr/local/mpich/include \
                -I/usr/local/include \
                -DFFT_NONE -DGZIP
DEPFLAGS =      -M
LINK =          mpiCC
LINKFLAGS =     -v -O -L/usr/local/mpich/lib \
                -L/usr/local/lib
USRLIB =        -lmpich
SYSLIB =
SIZE =          size

# Link rule

......

-----------------------------------------------
# cd ..
# make pgi
==========================================================================
- 심볼릭 링크를 해줍니다.
==========================================================================
# mkdir /usr/local/lammps-4Oct06
# cp ./lmp_pgi /usr/local/lammps-4Oct06/
# ln -s /usr/local/lammps-4Oct06 /usr/local/lammps
==========================================================================

3. 예제 실행
- 먼저 노드를 지정하기 위해, 머신파일을 생성합니다.
==========================================================================
# vi ~/mf
--------------------------------------------
node001
node002
--------------------------------------------
==========================================================================
- 소스에 포함된 crack예제를 홈디렉토리로 이동합니다.
==========================================================================
# cp -r ../examples/crack ~/
==========================================================================
- cpu개수 2개, 머신파일 ./mf, 마스터노드에서는 실행하지 않는 옵션으로 mpirun을
  실행합니다.
==========================================================================
# cd ~/crack
# mpirun -np 2 -machinefile ~/mf -nolocal /usr/local/lammps/lmp_pgi < ./in.crack


......

Nlocal:    8141 ave 8141 max 8141 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost:    0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs:    70723 ave 70723 max 70723 min
Histogram: 1 0 0 0 0 0 0 0 0 0

Total # of neighbors = 70723
Ave neighs/atom = 8.68726
Neighbor list builds = 489
Dangerous builds = 0
==========================================================================
- 실행내역은 표준출력과 log.lammps파일로 각각 출력됩니다.
* 노드의 사양과 cpu갯수에 따라 시간이 오래 걸릴 수 있습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 삐꾸강아쥐

2007/04/28 10:41 2007/04/28 10:41
,
Response
0 Trackbacks , 0 Comments
RSS :
http://blog.blog.n-nuri.com/rss/response/336

Trackback URL : http://blog.blog.n-nuri.com/trackback/336

Leave a comment
[로그인][오픈아이디란?]

출처 : http://pc.oopslinux.com/index.php?left=bbs&right=tech
작성자 요청시 자삭 함.


namd와 vmd를 이용한 imd(Interactive Molecular Dynamics)



1. 시스템 및 소프트웨어 환경
1.1 시스템은 x86기반 리눅스 클러스터로, MPI용 네트웍은 이더넷이며,
    운영체제는 CentOS 4.2 (RedHat EL4 update2 호환) 입니다.
1.2 vmd를 실행하는 pc는 windows xp환경이며, 이외에도 여러가지 운영체제를
    지원합니다.
1.3 패키지 버전
- Namd 2.5 Source ( http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD
  : 오픈소스 )
- VMD 1.8.5 ( http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD
  : 오픈소스 )

* namd및 mpich설치는 이전 문서를 참조 바랍니다.

2. vmd 1.8.5 설치
- 다운로드한 vmd185.exe를 더블클릭하여 설치 합니다.

3. 실행용 예제(alanin)의 구조, 파라메터, 좌표 파일들을 클러스터로 부터,
   다운로드하여, pc에 저장합니다.
  (alanin.params, alanin.pdb, alanin.psf)
* vmd가 한글을 읽지 못하므로, 한글 윈도우의 경우는 [바탕화면]과 같은
  경로에 파일을 위치시키면 안됩니다.
ex> 
==========================================================================
D:\>dir d:\alanin
 D 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 2400-08F9

 d:\alanin 디렉터리

2006-10-04  오후 08:26              .
2006-10-04  오후 08:26              ..
2006-10-04  오후 07:37               517 alanin
2006-10-04  오후 07:37            17,389 alanin.params
2006-10-04  오후 07:37             5,748 alanin.pdb
2006-10-04  오후 07:37            12,953 alanin.psf
2006-10-04  오후 08:26            16,247 imd.vmd
               5개 파일              52,854 바이트
               2개 디렉터리  108,966,461,440 바이트 남음
==========================================================================

4. vmd 실행
- [시작]->[프로그램]->[VMD 1.8.5]를 클릭하여, vmd를 실행합니다.
- [VMD Main]창의 [File]->[New Molecule...]을 선택합니다.
- [alanin.pdb]파일을 찾아 [열기] 합니다.
- [VMD Main]창의 [Graphics]->[Representations...]을 선택합니다.
- [Drawing Method] 항목을 [CPK]로 선택합니다.
- [VMD Main]창의 [Mouse]->[Label]을 이용하여 [Display]창에 [Atoms], 
  [Bonds], [Angles]등을 표시해 넣습니다.
5. namd 실행
- ssh터미널을 열고 마스터 노드에 로그인 하여, alanin예제가 있는 디렉토리로
  이동하고, alanin파일에 IMD를 사용하도록 다음과 같은 설정을 추가합니다.
* 이때, numstep의 값을 충분히 주어야 imd가 빨리 끝나는 것을 방지 할 수
  있습니다.
==========================================================================
# cd ~/alanin
# vi ./alanin
-------------------------------------------------------------
# This is a test namd configuration file

timestep        0.5
numsteps        50000
structure       alanin.psf
parameters      alanin.params
coordinates     alanin.pdb
exclude         scaled1-4
1-4scaling      0.4
outputname      output
margin          1.0
stepspercycle   3
temperature     0

switching       on
switchdist      7.0
cutoff          8.0
pairlistdist    9.0

#dcdfile        alanin.dcd
#dcdfreq        10

#restartname    alanin.restart
#restartfreq    10

#langevin       on
#langevinTemp   300.0
#langevincol    O

#constraints    on

#fma            on

#seed           791064881

IMDon           yes
IMDport         2030
IMDfreq         1
IMDwait         on
-------------------------------------------------------------
==========================================================================
- 이제 namd을 실행합니다.
==========================================================================
# vi ~/mf
--------------------------------------------
node001
node002
--------------------------------------------
# mpirun -np 2 -machinefile ~/mf -nolocal /usr/local/namd/Linux-i686-MPI/namd2 ./alanin
==========================================================================
- namd가 실행되면 다음과 같이 imd접속을 기다린다는 메시지가 나옵니다.
6. imd접속
- [VMD Main]창의 [Extensions]->[Simulation]->[IMD Connect(NAMD)]을
  선택합니다.
- [VMD Main]창의 [Mouse]->[Force]->[Atom]을 선택하여, imd실행 중에
  원자에 응력을 가할 수 있도록 준비합니다.
- [IMD Connection]창에서 [Hostname]에 첫번째 계산노드(node001)의 ip,
  [Port]에 2030을 입력하고 [Connect]를 클릭합니다.
* imd의 포트는 첫번째 계산노드에 열리는 것이므로, 반드시 첫번째 노드로
  접속해야 합니다.
- 마우스 포인터로 [Display]창의 각 원자를 잡아당기면, 응력을 줄 수 있습니다.
- 설정한 numsteps가 되면 종료됩니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 삐꾸강아쥐

2007/04/28 10:37 2007/04/28 10:37
,
Response
0 Trackbacks , 0 Comments
RSS :
http://blog.blog.n-nuri.com/rss/response/335

Trackback URL : http://blog.blog.n-nuri.com/trackback/335

Leave a comment
[로그인][오픈아이디란?]

pgi compiler 환경에서 namd 설치하기

출처 : http://pc.oopslinux.com/index.php?left=bbs&right=tech
작성자의 요청시 자삭 합니다.

pgi compiler 환경에서 namd 설치하기

1. 시스템 및 소프트웨어 환경
1.1 시스템은 x86기반 리눅스 클러스터로, MPI용 네트웍은 이더넷이며,
    운영체제는 CentOS 4.2 (RedHat EL4 update2 호환) 입니다.
1.2 패키지 버전
- FFTW 2.1.5 ( http://www.fftw.org/fftw-2.1.5.tar.gz : 오픈소스 )
* 3.x버전이 최신이지만, MPI환경을 지원하지 않음
- Tcl 8.4.13 ( http://optusnet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.13-src.tar.gz : 오픈소스 )
- NAMD 2.5 Source ( http://www.ks.uiuc.edu/Development/Download/download.cgi?UserID=&AccessCode=&ArchiveID=722 : 오픈소스 )
* 2.6이 최신 버전이지만, mpirun시 애러가 발생함

* mpich는 이미 설치 되었다고 가정합니다.
* 이 문서의 작업 예는 root계정에서 실행하는 것입니다.
* vi를 실행하는것은, 그 이후에 나오는 코드를 해당 파일에 추가하거나,
  편집하는 것을 뜻합니다.

2. fftw-2.1.5 설치
- double/single 두가지 precision을 모두 지원하기위해 다음과 같이
  두번 컴파일 합니다.
==========================================================================
# tar xzvf ./fftw-2.1.5.tar.gz
# cd ./fftw-2.1.5
# ./configure CC=mpicc LDFLAGS=-L/usr/local/mpich/lib CPPFLAGS=-I/usr/local/mpich/include \
              F77=mpif77 --prefix=/usr/local/fftw-2.1.5 --enable-type-prefix --enable-mpi
# make
# make install
# make clean
# ./configure CC=mpicc LDFLAGS=-L/usr/local/mpich/lib CPPFLAGS=-I/usr/local/mpich/include \
              F77=mpif77 --prefix=/usr/local/fftw-2.1.5 --enable-type-prefix --enable-float \
              --enable-mpi
# make
# make install
==========================================================================
- 심볼릭 링크를 해줍니다.
==========================================================================
# ln -s /usr/local/fftw-2.1.5 /usr/local/fftw
==========================================================================
3. Tcl 8.4.13 설치
==========================================================================
# tar xzf ./tcl8.4.13-src.tar.gz
# cd ./tcl8.4.13/unix
==========================================================================
- 기존 리눅스배포본의 shared object tcl라이브러리와의 중복을 피하기 위해
  "--disable-shared" 옵션을 주어 설정합니다.
==========================================================================  
# ./configure --prefix=/usr/local/tcl8.4.13 --disable-shared
# make
# make test
# make install
# ln -s /usr/local/tcl8.4.13 /usr/local/tcl
# ln -s /usr/local/tcl/lib/libtcl8.4.a /usr/local/tcl/lib/libtcl.a

4. namd 소스 압축 해제
==========================================================================
# tar xzf ./NAMD_2.5_Source.tar.tar
==========================================================================
- namd소스 안에는 charm소스가 포함되어 있습니다.

5. charm 5.6 설치
==========================================================================
# cd ./NAMD_2.5_Source
# tar xf ./charm.tar
# cp -r ./charm /usr/local/charm-5.6
# cd /usr/local/charm-5.6
# ./build charm++ mpi-linux
# ln -s /usr/local/charm-5.6 /usr/local/charm
==========================================================================

6. NAMD 2.5 설치
- namd소스를 풀어 놓은 곳으로 이동하여, 소스를 "/usr/local/" 에 복사합니다.
==========================================================================
# cp -r ./NAMD_2.5_Source /usr/local/namd-4.6
# cd /usr/local/namd-4.6
# vi Make.charm
-----------------------------------------------
# Set CHARMBASE to the top level charm directory.
CHARMBASE = /usr/local/charm
#CHARMBASE = C:/cygwin$(HOME)/charm
-----------------------------------------------
# vi arch/Linux-i686.tcl
-----------------------------------------------
TCLDIR=/usr/local/tcl
TCLINCL=-I$(TCLDIR)/include
TCLLIB=-L$(TCLDIR)/lib -ltcl -ldl
TCLFLAGS=-DNAMD_TCL -DUSE_NON_CONST
TCL=$(TCLINCL) $(TCLFLAGS)
-----------------------------------------------
# vi arch/Linux-i686.fftw
-----------------------------------------------
FFTDIR=/usr/local/fftw
FFTINCL=-I$(FFTDIR)/include
FFTLIB=-L$(FFTDIR)/lib -lsrfftw -lsfftw
FFTFLAGS=-DNAMD_FFTW
FFT=$(FFTINCL) $(FFTFLAGS)
-----------------------------------------------
# vi arch/Linux-i686-MPI.arch
-----------------------------------------------
include .rootdir/arch/Linux-i686-pgCC.arch
-----------------------------------------------
# vi arch/Linux-i686-pgCC.arch
-----------------------------------------------
NAMD_ARCH = Linux-i686
CHARMARCH = mpi-linux

CXX = pgCC -DSOCKLEN_T=socklen_t
CXXOPTS = -O2 --no_exceptions -tpp6
CC = pgcc
COPTS = -fast -Mvect=assoc,prefetch -tpp6
-----------------------------------------------
# ./config tcl fftw Linux-i686-MPI
# cd Linux-i686-MPI
# make
# ln -s /usr/local/namd-4.6 /usr/local/namd
==========================================================================

4. 예제 실행
- 먼저 노드를 지정하기 위해, 머신파일을 생성합니다.
==========================================================================
# vi ~/mf
--------------------------------------------
node001
node002
--------------------------------------------
==========================================================================
- 소스에 포함된 alanin예제를 홈디렉토리로 이동합니다.
==========================================================================
# mkdir ~/alanin
# cp /usr/local/namd/src/alanin* ~/alanin/
==========================================================================
- cpu개수 2개, 머신파일 ./mf, 마스터노드에서는 실행하지 않는 옵션으로 mpirun을
  실행합니다.
==========================================================================
# cd ~/alanin
# mpirun -np 2 -machinefile ~/mf -nolocal /usr/local/namd/Linux-i686-MPI/namd2 ./alanin


......

WRITING EXTENDED SYSTEM TO OUTPUT FILE AT STEP 9
WRITING COORDINATES TO OUTPUT FILE AT STEP 9
WRITING VELOCITIES TO OUTPUT FILE AT STEP 9
==========================================
WallClock: 2.809392  CPUTime: 2.809404  Memory: 2417 kB
End of program
==========================================================================
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 삐꾸강아쥐

2007/04/28 10:35 2007/04/28 10:35
, ,
Response
0 Trackbacks , 0 Comments
RSS :
http://blog.blog.n-nuri.com/rss/response/334

Trackback URL : http://blog.blog.n-nuri.com/trackback/334

Leave a comment
[로그인][오픈아이디란?]

pgi compiler 환경에서 mpich 설치하기

출처 : http://pc.oopslinux.com/index.php?left=bbs&right=tech
작성자 요청시 자삭 합니다.

pgi compiler 환경에서 mpich 설치하기
1. 시스템 및 소프트웨어 환경
1.1 시스템은 x86기반 리눅스 클러스터로, MPI용 네트웍은 이더넷이며,
    운영체제는 CentOS 4.2 (RedHat EL4 update2 호환) 입니다.
1.2 패키지 버전
- PGI 6.0.8 Workstation Version ( http://www.pgroup.com/products/workpgi.htm : 상용 )
- MPICH 1.2.7p1 ( http://www-unix.mcs.anl.gov/mpi/mpich1/download.html : 오픈소스 )

* PGI 컴파일러는 이미 설치 되었다고 가정합니다.
* 이 문서의 작업 예는 root계정에서 실행하는 것입니다.
* vi를 실행하는것은, 그 이후에 나오는 코드를 해당 파일에 추가하거나,
  편집하는 것을 뜻합니다.

2. 사전 환경 확인
2.1 PGI 컴파일러가 정상적으로 설치 되었고, 환경변수가 적절히 세팅 되었는지
    확인합니다.
==========================================================================
# pgcc -V

pgcc 6.0-8 32-bit target on x86 Linux
Copyright 1989-2000, The Portland Group, Inc.  All Rights Reserved.
Copyright 2000-2005, STMicroelectronics, Inc.  All Rights Reserved.
# pgf90 -V

pgf90 6.0-8 32-bit target on x86 Linux
Copyright 1989-2000, The Portland Group, Inc.  All Rights Reserved.
Copyright 2000-2005, STMicroelectronics, Inc.  All Rights Reserved.

==========================================================================

2.2 위와 같이 실행되지 않는경우는, PGI가 설치되었는지 확인하고, 설치가 완료
    되면, 다음과 같이 환경변수를 세팅하여 줍니다.
==========================================================================
# vi ~/.bash_profile
-------------------------------------------------------------
......

# for mpich
PATH=$PATH:/usr/local/mpich/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpich/lib

MANPATH=$MANPATH:/usr/local/mpich/man

export PATH MANPATH LD_LIBRARY_PATH

#PGI ENV. Setting
PGI=/usr/pgi
PATH=$PATH:$PGI/linux86/6.0/bin
MANPATH=$MANPATH:$PGI/linux86/6.0/man
LM_LICENSE_FILE=$LM_LICENSE_FILE:$PGI/license.dat
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGI/linux86/6.0/lib

export PGI PATH MANPATH LM_LICENSE_FILE LD_LIBRARY_PATH

-------------------------------------------------------------
# source ~/.bash_profile
==========================================================================

3. mpich 설치
3.1 다운로드 받은 mpich소스의 압축을 풀고, 해당 소스의 루트로 이동합니다.
==========================================================================
# tar xzf ./mpich.tar.gz
# cd mpich-1.2.7p1
==========================================================================
3.2 configuration및 make
==========================================================================
# ./configure --with-device=ch_p4 -prefix=/usr/local/mpich-1.2.7p1 -c++=pgCC \
              -cc=pgcc -fc=pgf77 -clinker=pgcc -flinker=pgf77 -c++linker=pgCC \
              -f90=pgf90 -f90inc=/usr/pgi/linux86/6.0/include -f90linker=pgf90 \
              -f90libpath=/usr/pgi/linux86/6.0/lib -opt="-fast" -rsh=ssh
# make
# make install
# ln -s /usr/local/mpich-1.2.7p1 /usr/local/mpich              
==========================================================================
* 위에서 심볼릭 링크를 사용하는 이유는, 혹 다른 버전의 mpich로 변경하더라도
링크만 변경해주면, 사용자들의 환경변수를 변경할 필요없이 사용하기 위해서 입니다.

3.3 설치 확인
==========================================================================
# mpicc -V

pgcc 6.0-8 32-bit target on x86 Linux
Copyright 1989-2000, The Portland Group, Inc.  All Rights Reserved.
Copyright 2000-2005, STMicroelectronics, Inc.  All Rights Reserved.
/usr/lib/crt1.o(.text+0x18): In function `_start':
: undefined reference to `main'
# mpif90 -V

pgf90 6.0-8 32-bit target on x86 Linux
Copyright 1989-2000, The Portland Group, Inc.  All Rights Reserved.
Copyright 2000-2005, STMicroelectronics, Inc.  All Rights Reserved.
/usr/local/pgi/linux86/6.0/lib/f90main.o(.text+0x77): In function `main':
: undefined reference to `MAIN_'
==========================================================================

*** 각 계산 노드에도 같은 위치에 인스톨 하거나, NFS등을 이용하여 같은 위치에
mpich및 PGI가 위치할 수 있도록 해야 합니다.

4. 예제 실행
4.1 mpich에 포함된 예제(cpi : 원주율 계산)를 컴파일 합니다.
==========================================================================
# cd /usr/local/mpich/examples
# make cpi
# ./cpi
Process 0 on master
pi is approximately 3.1416009869231254, Error is 0.0000083333333323
wall clock time = 0.000105
==========================================================================
4.2 mpirun을 통하여 실행합니다.
- 먼저 노드를 지정하기 위해, 머신파일을 생성합니다.
==========================================================================
# vi ./mf
--------------------------------------------
node001
node002
--------------------------------------------
==========================================================================
- cpu개수 2개, 머신파일 ./mf, 마스터노드에서는 실행하지 않는 옵션으로 mpirun을
  실행합니다.
==========================================================================
# mpirun -np 2 -machinefile ./mf -nolocal ./cpi
Process 0 on node001
Process 1 on node002
pi is approximately 3.1416009869231241, Error is 0.0000083333333309
wall clock time = 0.000546
==========================================================================
* 만일 노드당 2개의 cpu를 가지고 있으며, 총 4개의 cpu로 실행할 때는 다음과 같이
  합니다.
==========================================================================
# vi ./mf
--------------------------------------------
node001
node001
node002
node002
--------------------------------------------
# mpirun -np 4 -machinefile ./mf -nolocal ./cpi
==========================================================================
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 삐꾸강아쥐

2007/04/28 10:32 2007/04/28 10:32
, , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://blog.blog.n-nuri.com/rss/response/333

Trackback URL : http://blog.blog.n-nuri.com/trackback/333

Leave a comment
[로그인][오픈아이디란?]

블로그 이미지

http://blog.n-nuri.com 이 접속이 안 될경우 http://x2x.dnip.net 으로 접속해 주세요 공유하지 않는 지식은 썩은 물과 같다~~~!!!

- 삐꾸강아쥐

Archives

Recent Trackbacks

Calendar

«   2009/01   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Site Stats

Total hits:
227692
Today:
43
Yesterday:
279
free counters