📔
활용정보
초보사용자 가이드누리온 지침서뉴론 지침서활용정보MyKSC 지침서
  • 활용정보
  • 1️⃣소프트웨어 설치
    • 누리온
      • LAMMPS
        • lammps-2Aug2023 설치 소개
        • lammps-3Mar20 설치 소개(SKL)
        • lammps-3Mar20 설치 소개(KNL)
        • lammps-12Dec18 설치 소개
      • GROMACS
        • GROMACS-2021.4 버전 설치 소개 (SKL)
        • GROMACS-2021.4 버전 설치 소개 (KNL)
        • GROMACS-2020.2 버전 설치 소개 (KNL)
        • GROMACS-2020.2 버전 설치 소개 (SKL)
        • GROMACS-2018.6 버전 설치 소개 (KNL)
        • GROMACS-2018.6 버전 설치 소개 (SKL)
        • GROMACS-5.1.4 설치
      • Quantum Espresso
        • Quantum Espresso-7.2 설치 소개
        • Quantum Espresso-6.6 설치 소개
        • Quantum Espresso-6.2.1 설치 소개
      • OpenFOAM
        • OpenFOAM-v1912 설치 소개
        • OpenFOAM-v1712 설치 소개
        • OpenFOAM-7 버전 설치 소개(SKL)
        • OpenFOAM-7 버전 설치 소개(KNL)
        • OpenFOAM-5.x 버전 설치 소개(SKL)
        • OpenFOAM-5.x 버전 설치 소개(KNL)
      • VASP
        • VASP 6.5.0 설치 소개
        • VASP 6.1.0 설치 소개
        • VASP 5.4.4 설치 (KNL)
        • VASP 5.4.4 설치 (SKL)
        • VASP 5.3.5 설치
      • 누리온 R-3.6.2 버전 설치 소개
      • CP2K
        • CP2K-6.1.0 버전 설치 소개
        • CP2K-5.1.0 버전 설치 소개
      • SIESTA
        • SIESTA 4.1-b3 설치(KNL)
        • SIESTA 4.1-b3 설치(SKL)
      • WRF-V3.9.1.1 설치
      • RASPA v2.0.47 설치 소개
      • gcc v8.1.0 설치
      • UPP v3.1 설치 소개
      • mpiP v3.4.1 설치 소개
      • V_Sim v3.7.2 설치 소개
      • foam-extend v3.1 설치 소개
      • ParaView v5.2.0 설치 소개
      • AutoDock Vina v1.1.2 설치 소개
      • DDSCAT v7.3.3 설치 소개
    • 뉴론
      • VASP
        • VASP 6.4.3 설치 (GPU)
        • VASP 5.4.4 설치 (GPU)
      • GROMACS
        • GROMACS-2018.6 (GPU 버전) 설치
        • GROMACS-2016.4 (GPU 버전) 설치
      • LAMMPS
        • lammps-16Mar18 (GPU 버전) 설치
      • NAMD 2.12 (GPU 버전) 설치
      • Quantum Espresso
        • Quantum Espresso-7.3 (GPU 버전) 설치
        • Quantum Espresso-6.6 (GPU 버전) 설치
        • Quantum Espresso-6.4 (GPU 버전) 설치
      • OpenFOAM-v1912 설치 소개 (SKL)
  • 2️⃣슈퍼컴퓨터 활용 팁
    • 공통
      • oneAPI 소개
      • AMD Instinct MI100 GPU 성능 테스트
      • Checkpoint 기능 관련 안내
      • 인터렉티브 작업 제출 예제
      • git 사용 방법 안내
      • PYTHON 2.7 EOL(End of Life) 안내
      • Conda 의 활용 소개
      • CPU 관련 오류 사항 ( illegal instruction )
      • vasp.5.4.4.18Apr17 Version Bug 이슈
      • 컴파일러별 AVX-512 옵션 정리
      • Linux(Unix) 에서 Text 파일 내용에 ^M 이 붙어 있는 경우 해결 방법
      • vasp.5.4.1.24Jun15 Version Bug 이슈
      • 오픈 소스 빌드 시에 OpenMP 체크 오류 (Intel 컴파일러)
      • X86_64 어셈블리 프로그래밍 기초
    • 누리온
      • MVAPICH2/MVAPICH2-X 성능 비교(VASP)
      • WRF
        • WRF 멀티노드 활용(SKL)
        • WRF 멀티노드 활용(KNL)
      • VASP
        • VASP 멀티노드 활용(SKL)
        • VASP 멀티노드 활용(KNL)
      • LAMMPS
        • LAMMPS 멀티노드 활용(SKL)
        • LAMMPS 멀티노드 활용(KNL)
      • Gromacs
        • Gromacs 멀티노드 활용 (SKL)
        • Gromacs 멀티노드 활용 (KNL)
      • QE
        • QE 멀티노드 활용(SKL)
        • QE 멀티노드 활용(KNL)
    • 뉴론
      • SSH Port Forwarding 을 통한 Jupyter 작업 실행
      • AMD 노드 활용
      • LAMMPS 멀티노드 활용
      • Gromacs 멀티노드 활용
      • OpenMPI 3.1.X 이슈 사항
      • MPI 환경설정 및 작업 제출 방법(2021.03)
  • 3️⃣동영상 지침서
    • 공통
      • 파일 전송 (FTP) 사용법
    • 누리온
      • 작업 제출 방법
      • 작업 스크립트 작성법
      • 슈퍼컴퓨터 모듈 사용법
      • 슈퍼컴퓨터 접속 방법 [Windows 사용자]
      • 슈퍼컴퓨터 접속 방법 [Mac 사용자]
    • 뉴론
      • 인터렉티브 작업 방법
      • Slurm 작업 제출 방법
      • conda 설정방법
      • 작업 스크립트 작성 방법
  • 4️⃣기타
    • 누리온
      • FAQ (2025.03)
      • 사용자 지침서 (2021.05)
      • 데스크톱 가상화(VDI)
      • TSMSF 사용자 지침서
      • i-PI 사용법 (LAMMPS)
      • 딥러닝 프레임워크 병렬화 사용법
      • Q-CHEM v5.2 사용자 지침서
      • ABAQUS 사용자 지침서(2020.12)
      • OpenFOAM 사용자 지침서
      • 가우시안16(Gaussian16) S/W 사용 안내 (2019.03)
      • ANSYS FLUENT 사용자 지침서(2020.03)
      • ANSYS CFX 사용자 지침서(2020.02)
      • NASTRAN 사용자 지침서(2020.02)
      • LS-DYNA 사용자 지침서(2020.02)
      • 가우시안16(Gaussian16) LINDA S/W 사용 안내 (2019.08)
    • 뉴론
      • 공유 노드 정책 변경에 따른 메모리 할당량 설정 안내
      • SLURM 스케줄러 Fairshare 스케줄링 정책
      • FAQ (2025.01)
      • OpenFOAM 사용자 지침서
      • Jupyter 사용자 지침서
      • 딥러닝 프레임워크 병렬화 사용법
      • Keras 기반 Multi GPU 사용 방법 (2020.10)
      • 가우시안16(Gaussian16) GPU S/W 사용 안내 (2019.08)
      • slurm 스케쥴러 기본 사용법 (2021.04)
      • 뉴론 시스템 개요(2021.04)
  • External Link
    • Nurion Guide(Eng)
    • Neuron Guide(Eng)
Powered by GitBook
On this page
  • 가. 설치 환경
  • 나. 설치 전 환경 설정
  • 다. 설치 과정
  • 1. VORO++ 설치
  • 2. LATTE 설치
  • 3. 라이브러리 패키지 설치
  • 4. LAMMPS 설치
  • 라. 실행 파일 복사
  • 마. 누리온에서 LAMMPS 사용을 위한 PBS 작업 스크립트 예제
  1. 소프트웨어 설치
  2. 누리온
  3. LAMMPS

lammps-3Mar20 설치 소개(SKL)

슈퍼컴퓨팅인프라센터 2021. 5. 28. 10:37

Previouslammps-2Aug2023 설치 소개Nextlammps-3Mar20 설치 소개(KNL)

Last updated 1 month ago

KISTI 누리온 시스템에서 SKL 계산노드용 lammps-3Mar20 버전 실행 파일을 컴파일하는 예시입니다.

가. 설치 환경

구분
내용

대상 시스템

누리온

OS Version

리눅스 / CentOS 7.9

CPU

Intel Xeon 6148

컴파일러

Intel 2019.5 Version

MPI

IntelMPI 2019.5 Version

기타

Intel Math Kernel Library (MKL)

나. 설치 전 환경 설정

KISTI 시스템은 PATH, LD_LIBRARY_PATH 등을 쉽게 하기 위하여 OpenSource 인 Environment Modules이 구성되어 있습니다. 이하 설치 예시 에서는 module load를 이용하여 설치 진행합니다.

  • 환경 설정

 $ module purge
 $ module load intel/19.0.5 impi/19.0.5

다. 설치 과정

설치 과정 소개는 tar를 이용한 압축 해제 방법과 설정 방법 등 진행 절차를 위주로 설명하고, 소스 파일 다운로드 등은 생략합니다. (다운로드 : )

설치 경로는 ${HOME}/lammps/3Mar20을 예시로 사용하였으며, 사용자 분에게 적합한 위치로 변경하여 설치 진행하시기 바랍니다.

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

#Alternative flags for MKL:
LIB += -mkl=parallel


#
# GPU options
#

#GPU_CUDA_LIB = -L/opt/cudatoolkit-5.5/lib64 -lcublas -lcudart


#GPU_ARCH = sm_20

3. 라이브러리 패키지 설치

LAMMPS 홈페이지로부터 다운로드 받은 파일을 적당한 위치($HOME/build)에 올린 후 다음과 같은 명령으로 압축 묶음 파일을 압축 해제합니다.

$ tar xzvf lammps-3Mar20.tar.gz

1) voronoi 설치

(1)에서 설치한 voro++ 설치 디렉토리를 지정해 줍니다.

lammps 압축 해제후 lammps-3Mar20 폴더로 이동하여 아래의 작업을 진행합니다.

[설치과정]

$ cd lammps-3Mar20
$ 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) 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

4) 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

5) linalg 설치

[설치과정]

$ cd lib/linalg
$ vi Makefile.mpi
----- 수정 사항은 아래의 내용 참고 -----
$ make -f Makefile.mpi
$ cd ../../

[Makefile.mpi 수정 사항]

FC = mpiifort
FFLAGS = -O3 -fPIC
FFLAGS0 = -O0 -fPIC

6) 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 -lifcore
latte_SYSPATH = -L../../lib/linalg -qopenmp

7) message 설치

[설치과정]

$ cd lib/message/cslib/src
$ vi Makefile
----- 수정 사항은 아래의 내용 참고 -----
$ make lib_parallel zmq=no
$ cp libcsmpi.a libmessage.a
$ cd ../../../../

[Makefile 수정 사항]

ifeq ($(MPI),YES)
CC = mpiicpc
else
CCFLAGS += -I./STUBS_MPI
LIB = libcsnompi.a
SHLIB = libcsnompi.so
endif

8) plumed 설치

[설치과정]

$ cd lib/plumed
$ vi Install.py
----- 수정 사항은 아래의 내용 참고 -----
$ cd ../../src
$ make lib-plumed args="-b"
$ cd ..

[Install.py 수정 사항]

cmd = 'cd %s/plumed-%s; ./configure --prefix=%s --enable-static-patch CXX=mpiicpc ; make -j%d ; make install' % (homepath,version,homedir,n_cpus)

4. LAMMPS 설치

lammps 설치 디렉토리(${HOME}/build/lammps-3Mar20) 아래 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 yes-USER-PLUMED $ 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 = -xCORE-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/19.0.5/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/plumed/Makefile.lammps
include ../../lib/awpmd/Makefile.lammps
include ../../lib/atc/Makefile.lammps
include ../../lib/message/Makefile.lammps.nozmq
include ../../lib/voronoi/Makefile.lammps
include ../../lib/poems/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-3Mar20/
$ mkdir bin
$ cp ${HOME}/build/lammps-3Mar20/src/lmp_mpi .

마. 누리온에서 LAMMPS 사용을 위한 PBS 작업 스크립트 예제

위의 과정을 거처 설치된 lammps는 누리온 환경에서 다음과 같이 실행이 가능합니다.

누리온에서 작업을 제출하기 위해서는 PBS 작업 스크립트를 사용하여야 하며 실행 예제로 examples/meam 아래의 데이터를 이용하였습니다.

[작업스크립트 예제(lammps_test-run.sh)]

#!/bin/sh
#PBS -V
#PBS -N lammps_job_test
#PBS -q norm_skl
#PBS -l select=1:ncpus=40:mpiprocs=40:ompthreads=1
#PBS -l walltime=00:30:00
#PBS -A lammps

cd $PBS_O_WORKDIR

module purge
module load intel/19.0.5 impi/19.0.5
export PATH=${HOME}/build/lammps-3Mar20/bin:$PATH

mpirun lmp_mpi -in in.meamc

exit 0

1️⃣
https://github.com/lammps/lammps/releases