pgi compiler 환경에서 lammps 설치하기
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갯수에 따라 시간이 오래 걸릴 수 있습니다.