일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- TACHYON2
- nurion
- abaqus
- 슈퍼컴퓨팅
- 누리온
- openfoam
- vasp
- Gaussian
- GROMACS
- neuron
- 국가슈퍼컴퓨팅센터
- 슈퍼컴퓨터
- 5호기
- 신바람
- 슈퍼컴퓨팅교육
- 타키온2
- HPC
- 뉴론
- GPU
- KISTI
- SGE
- ansys
- Linux
- sinbaram
- cuda
- G16
- KNL
- skl
- Kat
- 가우시안
- Today
- Total
KISTI 슈퍼컴퓨팅 기술 블로그
누리온 lammps-12Dec18 설치 소개 본문
KISTI 슈퍼컴퓨터센터의 장비에 lammps-12Dec18 source 버전으로 설치 하는 방법에 대하여 소개 한다.
1. 설치 환경
구분 | 내용 |
대상 시스템 | 누리온 |
OS Version | 리눅스 / CentOS 7.3 |
CPU | Intel(R) Xeon(R) Gold 6126 |
컴파일러 | Intel 2018.3 Version |
MPI | IntelMPI 2018.3 Version |
기타 | Intel MKL Math Library |
2. 설치 전 환경 설정
KISTI 시스템은 PATH, LD_LIBRARY_PATH 등을 쉽게 하기 위하여 OpenSource 인 Environment Modules(http://modules.sourceforge.net)이 구성되어 있고, 이하 설치 소개 에서는 module load를 이용한 환경 설정 방법을 이용한다.
[ 환경 설정 ]
$ module load intel/18.0.3 impi/18.0.3 |
3. 설치 과정
설치 경로는 ${HOME}/lammps/12DEC18을 사용하였다. 이 위치는 사용자에게 맞는 위치로 변경하여야 한다.
(1) VORO++ 설치 (다운로드 : http://math.lbl.gov/voro++/download/)
VORONOI 패키지 설치를 위한 voro++를 우선 설치한다.
설치과정 | ||
$ tar xvf voro++-0.4.6.tar.gz $ cd voro++-0.4.6 $ mkdir -p ${HOME}/build/library $ vi config.mk ----- 수정 사항은 아래의 내용 참고 ----- $ make $ make install |
[config.mk 수정 사항]
CXX=mpiicpc CFLAGS= -Wall -ansi -pedantic -O3 -fPIC E_INC= -I../../src E_LIB= -L../../src PREFIX= ${HOME}/build/library INSTALL= install IFLAGS_EXEC= -m 0755 IFLAGS= -m 0644 |
(2) LATTE 설치 (다운로드 : https://github.com/lanl/LATTE/releases)
LATTTE 패키지 설치를 위한 Latte 라이브러리를 우선 설치한다.
다운로드 받은 파일을 적당한 위치($HOME/build)에 올린 후 다음과 같은 명령으로 압축 묶음 파일을 푼다.
설치과정 | ||
$ cd ${HOME}/build $ tar xzvf LATTE-1.2.1.tar.gz $ cd LATTE-1.2.1 $ vi makefile.CHOICES ----- 수정 사항은 아래의 내용 참고 ----- $ make |
[makefile.CHOICES 수정 사항]
# # CPU Fortran options # #For GNU compiler: #FC = mpif90 #FC = gfortran #FCL = $(FC) #FFLAGS = -O3 -fopenmp -cpp #FFLAGS = -fast -Mpreprocess -mp #LINKFLAG = -fopenmp #For intel compiler: FC = ifort FCL = $(FC) FFLAGS = -O3 -fpp -qopenmp LINKFLAG = -qopenmp LIB = -mkl=parallel #GNU BLAS/LAPACK libraries: #LIB = -llapack -lblas #Intel MKL BLAS/LAPACK libraries: LIB = -Wl,--no-as-needed -L${MKLROOT}/lib/intel64 \ -lmkl_lapack95_lp64 -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core \ -lmkl_gnu_thread -lmkl_core -ldl -lpthread -lm # # GPU options # #GPU_CUDA_LIB = -L/opt/cudatoolkit-5.5/lib64 -lcublas -lcudart #GPU_ARCH = sm_20 |
(3) 라이브러리 패키지 설치
LAMMPS 홈페이지(http://lammps.sandia.gov/index.html)로부터 다운로드 받은 파일을 적당한 위치($HOME/build)에 올린 후 다음과 같은 명령으로 압축 묶음 파일을 푼다.
$ tar xvf lammps-12Dec18.tar.gz |
(3-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 ../../ |
설치과정 | ||
$ 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 |
설치과정 | ||
$ 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 |
(3-4) awpmd 설치
설치과정 | ||
$ cd lib/awpmd $ vi Makefile.lammps.linalg ----- 수정 사항은 아래의 내용 참고 ----- $ vi Makefile.mpi ----- 수정 사항은 아래의 내용 참고 ----- $ make -f Makefile.mpi $ cd ../../ |
[Makefile.lammps.installed 수정 사항]
user-atc_SYSINC = user-atc_SYSLIB = -llinalg user-atc_SYSPATH = -L../../lib/linalg$(LIBOBJDIR) |
[Makefile.mpi 수정 사항]
CC = mpiicpc |
(3-5) atc 설치
설치과정 | ||
$ cd lib/atc $ vi Makefile.lammps.linalg ----- 수정 사항은 아래의 내용 참고 ----- $ vi Makefile.mpi ----- 수정 사항은 아래의 내용 참고 ----- $ make -f Makefile.mpi $ cd ../../ |
[Makefile.lammps.linalg 수정 사항]
user-atc_SYSINC = user-atc_SYSLIB = -llinalg user-atc_SYSPATH = -L../../lib/linalg$(LIBOBJDIR) |
[Makefile.mpi 수정 사항]
CC = mpiicpc |
(3-6) linalg 설치
설치과정 | ||
$ cd lib/linalg $ vi Makefile.mpi ----- 수정 사항은 아래의 내용 참고 ----- $ make -f Makefile.mpi $ cd ../../ |
[Makefile.mpi 수정 사항]
FC = mpiifort FFLAGS = -O3 -fPIC FFLAGS0 = -O0 -fPIC |
(3-7) reax 설치
설치과정 | ||
$ cd lib/reax $ make -f Makefile.ifort $ cd ../../ |
(3-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 ../../ |
[Makefile.lammps.mpi 수정 사항]
latte_SYSINC = latte_SYSLIB = ../../lib/latte/filelink.o -llatte -llinalg -lifport latte_SYSPATH = -L../../lib/linalg -qopenmp |
설치과정 | ||
$ cd lib/message/cslib/src $ vi Makefile ----- 수정 사항은 아래의 내용 참고 ----- $ make lib_parallel zmq=no $ cp libcsmpi.a libmessage.a |
[Makefile 수정 사항]
ifeq ($(MPI),YES) CC = mpiicpc else CCFLAGS += -I./STUBS_MPI LIB = libcsnompi.a SHLIB = libcsnompi.so endif |
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 선택 확인 |
[MAKE/Makefile.mpi 수정 사항]
CC = mpiicpc OPTFLAGS = -xCOMMON-AVX512 -O3 -fp-model fast=2 -no-prec-div -qoverride-limits CCFLAGS = -qopenmp -qno-offload -fno-alias -ansi-alias -restrict \ -DLMP_INTEL_USELRT -DLMP_USE_MKL_RNG $(OPTFLAGS) CCFLAGS += -I/apps/compiler/intel/18.0.3/mkl/include -lmkl_rt SHFLAGS = -fPIC DEPFLAGS = -M LINK = mpiicpc LINKFLAGS = -qopenmp $(OPTFLAGS) LIB = SIZE = size ARCHIVE = ar ARFLAGS = -rc SHLIBFLAGS = -shared FFT_INC = -DFFT_MKL -DFFT_SINGLE FFT_PATH = FFT_LIB = -L${MKLROOT}/lib/intel64/ -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core |
[Makefile.package.settings 수정 사항]
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 작업 스크립트를 사용하여야 한다.
실행 예제로는 examples/meam 아래의 데이터를 이용하였다.
작업스크립트 예제(lammps_test-run.sh) | ||
#!/bin/sh #PBS -V #PBS -N lammps_job_test #PBS -q normal #PBS -l select=2:ncpus=60:mpiprocs=60:ompthreads=1 #PBS -l walltime=04:00:00 #PBS -A lammps cd $PBS_O_WORKDIR module purge module load intel/18.0.3 impi/18.0.3 export PATH=${HOME}/build/lammps-12Dec18/bin:$PATH mpirun lmp_mpi -in in.meamc exit 0 |
'SW 설치 문서 창고 > 누리온(NURION)' 카테고리의 다른 글
누리온 OpenFOAM-5.x 버전 설치 소개(KNL) (0) | 2019.06.27 |
---|---|
누리온 mpiP-3.4.1 설치 소개 (0) | 2019.06.12 |
누리온 GROMACS-2018.6 버전 설치 소개 (KNL) (0) | 2019.05.29 |
누리온 GROMACS-2018.6 버전 설치 소개 (SKL) (0) | 2019.05.29 |
누리온 WRFV3.9.1.1 설치 (0) | 2019.05.28 |