일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linux
- Gaussian
- 뉴론
- ansys
- 슈퍼컴퓨팅교육
- 5호기
- KNL
- cuda
- GROMACS
- 슈퍼컴퓨팅
- abaqus
- SGE
- 국가슈퍼컴퓨팅센터
- TACHYON2
- skl
- openfoam
- nurion
- HPC
- 슈퍼컴퓨터
- GPU
- 신바람
- neuron
- vasp
- Kat
- 가우시안
- G16
- sinbaram
- KISTI
- 타키온2
- 누리온
- Today
- Total
KISTI 슈퍼컴퓨팅 기술 블로그
누리온 CP2K-6.1.0 버전 설치 소개 본문
KISTI 슈퍼컴퓨팅센터의 누리온 시스템에 CP2K-v6.1.0 Source 버전으로 공용 파일시스템인 /apps에 설치했던 내용을 정리하여 사용자들이 설치하는 방법에 대하여 참고할 수 있도록 내용을 소개 한다.
1. 설치 환경
구분 | 내용 |
대상 시스템 | 누리온 |
OS Version | 리눅스 / CentOS 7.7 |
CPU | Intel(R) Xeon Phi(TM) CPU 7250 |
컴파일러 | Gcc 7.2.0 |
MPI | OpenMPI 3.1.0 |
기타 | Cmake 3.12.3 |
2. 설치 전 환경 설정
CP2K 설치에는 여러 의존성 패키지들이 필요하다. 본 내용은 컴파일러와 MPI, CMAKE를 제외한 의존 라이브러리들을 CP2K 의 toolchain 을 이용하는 방법으로 소개한다.
[ 환경 설정 ]
$ module load gcc/7.2.0 openmpi/3.1.0 cmake/3.12.3 |
설치 과정 소개는 진행 절차를 위주로 설명하고, 소스 파일 다운로드와 tar 를 이용한 압축 해제 방법과 설정 방법등은 생략한다.
설치 과정 |
$ cd ${HOME}/CP2K-6.1.0/ $ cd tools/toolchain $ vi install_cp2k_toolchain.sh - - - [install_cp2k_toolchain.sh 수정 사항] 참고 - - - $ vi scripts/install_ptscotch.sh - - - [install_ptscotch.sh 수정 사항] 참고 - - - $ vi scripts/install_pexsi.sh - - - [install_pexsi.sh 수정 사항] 참고 - - - $ ./install_cp2k_toolchain.sh -j 2 --install-all \ --mpi-mode=openmpi --math-mode=openblas --enable-omp \ --with-binutils=system --with-openblas --with-gcc=system \ --with-openmpi=system --with-cmake=system $ cp install/arch/* ../../arch $ cd ../../makefiles $ vi ../arch/local.popt - - - [local.popt 수정 사항] 참고 - - - $ vi ../arch/local.psmp - - - [local.psmp 수정 사항] 참고 - - - $ make -j 2 ARCH=local VERSION="popt psmp"
|
※ popt : MPI 버전
※ psmp : MPI+OpenMP의 Hybrid 버전
※ 참고 :
https://www.cp2k.org/howto:compile
[install_cp2k_toolchain.sh 수정 사항]
760라인 : CFLAGS="-O2 -ftree-vectorize -g -fno-omit-frame-pointer -mfma -mavx512f -mavx512cd -ffast-math $TSANFLAGS" 761라인 : FFLAGS="-O2 -ftree-vectorize -g -fno-omit-frame-pointer -mfma -mavx512f -mavx512cd -ffast-math $TSANFLAGS" 762라인 : F77FLAGS="-O2 -ftree-vectorize -g -fno-omit-frame-pointer -mfma -mavx512f -mavx512cd -ffast-math $TSANFLAGS" 763라인 : F90FLAGS="-O2 -ftree-vectorize -g -fno-omit-frame-pointer -mfma -mavx512f -mavx512cd -ffast-math $TSANFLAGS" 764라인 : FCFLAGS="-O2 -ftree-vectorize -g -fno-omit-frame-pointer -mfma -mavx512f -mavx512cd -ffast-math $TSANFLAGS" 765라인 : CXXFLAGS="-O2 -ftree-vectorize -g -fno-omit-frame-pointer -mfma -mavx512f -mavx512cd -ffast-math $TSANFLAGS" 859라인 : BASEFLAGS="-mfma -mavx512f -mavx512cd -fno-omit-frame-pointer -g $" |
[install_ptscotch.sh 수정 사항]
38라인 : sed -e "s|\(^CCS\).*|\1 = $MPICC|g" \ 40라인 : -e "s|\(^CCD\).*|\1 = $MPICC|g" \ |
※ "$CC" 대신 "$MPICC" 를 사용한다.
[install_pexsi.sh수정 사항]
55라인 : -e "s|\(CPP_LIB *=\).*|\1 -lstdc++ $ $ -lmpi_cxx |g" \ |
※ "-lmpi_cxx" 옵션을 추가 한다.
[local.popt 수정 사항]
line 17 LIBS = -lquip_core -latoms -lFoX_sax -lFoX_common -lFoX_utils -lFoX_fsys -lpexsi -lsuperlu_dist -lptscotchparmetis -lptscotch -lptscotcherr -lscotchmetis -lscotch -lscotcherr -lelpa -lscalapack -lxsmmf -lxsmm -ldl -lpthread -lsmm_dnn -lxcf03 -lxc -lderiv -lint -lfftw3 -lmpi -lopenblas -lstdc++ -lmpi_cxx
※ 17라인 LIBS 항목에 "-lmpi_cxx" 가 없는 경우 "-lmpi -lmpi_cxx" 와 같이 "-lmpi_cxx"를 추가한다.
[local.psmp 수정 사항]
line 17 LIBS = -lquip_core -latoms -lFoX_sax -lFoX_common -lFoX_utils -lFoX_fsys -lpexsi -lsuperlu_dist -lptscotchparmetis -lptscotch -lptscotcherr -lscotchmetis -lscotch -lscotcherr -lelpa_openmp -lscalapack -lxsmmf -lxsmm -ldl -lpthread -lsmm_dnn -lxcf03 -lxc -lderiv -lint -lfftw3 -lfftw3_omp -lmpi -lopenblas_omp -lstdc++ -lmpi_cxx
※ 17라인 LIBS 항목에 "-lmpi_cxx" 가 없는 경우 "-lmpi -lmpi_cxx" 와 같이 "-lmpi_cxx"를 추가한다.
4. 테스트
#!/bin/sh #PBS -V #PBS -N cp2k_sample #PBS -q normal #PBS -A etc #PBS -l select=1:ncpus=64:mpiprocs=32:ompthreads=2 #PBS -l walltime=04:00:00 cd $PBS_O_WORKDIR module purge module load gcc/6.1.0 openmpi/3.1.0 cmake/3.12.3 export PATH=$PATH:$/cp2k-6.1.0/exe/local mpirun cp2k.psmp -i H2O-32.inp |
※ ${HOME}/CP2K-6.1.0/tests 경로에 예제가 들어 있으니 필요한 경우 본인의 스크레치(/scratch/$USER) 경로로 복사해서 테스트 진행해 볼 수 있다.
5. 기타
$ qsub -I -V -q debug -l select=1:ncpus=68:mpiprocs=68:ompthreads=1 -l walltime=24:00:00 -A cp2k |
※ qsub 명령 뒤 문자는 I(대문자 아이) 이고, select 와 walltime 앞에 문자는 l(소문자 엘) 이다.
'SW 설치 문서 창고 > 누리온(NURION)' 카테고리의 다른 글
누리온 ParaView-v5.2.0 설치 소개 (0) | 2020.10.28 |
---|---|
누리온 foam-extend-3.1 설치 소개 (0) | 2020.09.11 |
누리온 OpenFOAM-v1912 설치 소개 (0) | 2020.06.29 |
누리온 GROMACS-2020.2 버전 설치 소개 (KNL) (0) | 2020.06.26 |
누리온 GROMACS-2020.2 버전 설치 소개 (SKL) (0) | 2020.06.26 |