KISTI 누리온 시스템에서 lammps-12Dec18 버전 실행 파일을 컴파일하는 예시입니다.
가. 설치 환경
구분
내용
대상 시스템
누리온
OS Version
리눅스 / CentOS 7.9
CPU
Intel Xeon Phi 7250
Intel Xeon 6148
컴파일러
Intel 2018.3 Version
MPI
IntelMPI 2018.3 Version
기타
Intel Math Kernel Library (MKL)
나. 설치 전 환경 설정
KISTI 시스템은 PATH, LD_LIBRARY_PATH 등을 쉽게 하기 위하여 OpenSource 인 Environment Modules(http://modules.sourceforge.net)이 구성되어 있으며, 이하 설치 소개 에서는 module load를 이용한 환경 설정 방법을 이용합니다.
LAMMPS 홈페이지로부터 다운로드 받은 파일을 적당한 위치($HOME/build)에 올린 후 다음과 같은 명령으로 압축 묶음 파일을 압축 해제합니다.
$ tar xvf lammps-12Dec18.tar.gz
1) voronoi 설치
(1)에서 설치한 voro++ 설치 디렉토리를 지정해 줍니다.
lammps 압축 해제후 lammps-12Dec18 폴더로 이동하여 아래의 작업을 진행합니다.
[설치과정]
$ cd lammps-12Dec18
$ cd lib/voronoi
$ ln -s ${HOME}/build/library/include/voro++ includelink
$ ln -s ${HOME}/build/library/lib liblink
$ cd ../../
2) poems 설치
[설치과정]
$ cd lib/poems
$ vi Makefile.mpi
----- 수정 사항은 아래의 내용 참고 -----
$ make -f Makefile.mpi
$ cd ../../
[Makefile.mpi 수정 사항]
CC = mpiicpc
CCFLAGS = -O3 -g -fPIC -Wall #-Wno-deprecated
ARCHIVE = ar
ARCHFLAG = -rc
DEPFLAGS = -M
LINK = mpiicpc
3) meam 설치
[설치과정]
$ cd lib/meam
$ vi Makefile.mpi
----- 수정 사항은 아래의 내용 참고 -----
$ make -f Makefile.mpi
$ cd ../../
[Makefile.mpi 수정 사항]
F90 = mpiifort
CC = mpiicc
F90FLAGS = -O3 -fPIC
#F90FLAGS = -O
ARCHIVE = ar
ARCHFLAG = -rc
LINK = mpiicpc
4) awpmd 설치
[설치과정]
$ cd lib/awpmd
$ vi Makefile.lammps.linalg
----- 수정 사항은 아래의 내용 참고 -----
$ vi Makefile.mpi
----- 수정 사항은 아래의 내용 참고 -----
$ make -f Makefile.mpi
$ cd ../../
$ cd lib/atc
$ vi Makefile.lammps.linalg
----- 수정 사항은 아래의 내용 참고 -----
$ vi Makefile.mpi
----- 수정 사항은 아래의 내용 참고 -----
$ make -f Makefile.mpi
$ cd ../../
$ cd lib/reax
$ make -f Makefile.ifort
$ cd ../../
8) latte 설치
[설치과정]
$ cd lib/latte
$ ln -s ${HOME}/build/LATTE-1.2.1/src includelink
$ ln -s ${HOME}/build/LATTE-1.2.1 liblink
$ ln -s ${HOME}/build/LATTE-1.2.1/src/latte_c_bind.o filelink.o
$ vi Makefile.lammps.mpi
----- 수정 사항은 아래의 내용 참고 -----
$ cd ../../
lammps 설치 디렉토리($HOME/build/lammps-12Dec18) 아래 src 폴더로 이동합니다.
package 선택 및 설치
사용하는 사용자의 연구내용에 맞추어 필요한 package를 선택하여 설치합니다. 여기서는 기본적으로 많이 사용되는 package를 위주로 설치하였습니다.
설치과정
$ cd src
$ make package-status
$ make yes-standard
$ make yes-message
$ make no-GPU
$ make no-PYTHON
$ make no-kim
$ make no-KOKKOS
$ make no-MSCG
$ make yes-USER-ATC
$ make yes-USER-AWPMD
$ make yes-USER-MEAMC
$ make yes-USER-OMP
$ make yes-USER-REAXC
$ make package-status
$ vi MAKE/Makefile.mpi
-- 수정 사항은 아래 내용 참고 --
$ vi Makefile.package.settings
-- 수정 사항은 아래 내용 참고 --
$ make mpi
package 선택 확인
standard package 선택
standard package 중 gpu package 제외
standard package 중 PYTHON package 제외
standard package 중 kim package 제외
standard package 중 KOKKOS package 제외
standard package 중 MSCG package 제외
package 선택 확인
include ../../lib/awpmd/Makefile.lammps
include ../../lib/atc/Makefile.lammps
include ../../lib/message/Makefile.lammps.nozmq
include ../../lib/voronoi/Makefile.lammps
include ../../lib/reax/Makefile.lammps
include ../../lib/poems/Makefile.lammps
include ../../lib/meam/Makefile.lammps
include ../../lib/latte/Makefile.lammps.mpi
include ../../lib/compress/Makefile.lammps
라. 실행 파일 복사
설치가 완료되면 사용에 편의를 위해 bin 경로를 만들어 실행 파일인 lmp_mpi를 bin 경로에 복사합니다. (선택사항)
$ ls -l lmp_mpi
$ cd ${HOME}/build/lammps-12Dec18/
$ mkdir bin
$ cp ${HOME}/build/lammps-12Dec18/src/lmp_mpi/bin .
마. 누리온에서 LAMMPS 사용을 위한 PBS 작업 스크립트 예제
위의 과정을 거처 설치된 lammps는 누리온 환경에서 다음과 같이 실행이 가능합니다.
누리온에서 작업을 제출하기 위해서는 PBS 작업 스크립트를 사용하여야 하며 실행 예제로는 examples/meam 아래의 데이터를 이용하였습니다.