LAB SERVER
CPU서버 IP
mu
147.46.248.60
rho
147.46.243.74
GPU서버 IP
C3PO
147.46.248.61
C3PO2 (P100)
147.46.248.62
서버사용 TIP
• /mifs/(user_id) 에서 돌리기
• 본인의 환경 변수 설정 확인
/qcfs/(user_id)/tcshrc/tcshrc.(server_name).env
>인텔 컴파일러와 mpi를 사용한다면, 인텔 컴파일러와 mpi 로딩과정에서 모두 자동으로 설정됨.
• 서버 전체 저장공간 사용량 확인
df -h (-h option: human readable format)
• 개별 서버 저장공간 사용량 확인 (반드시 자주 확인할 것)
du -hsc /qcfs/(user_id)/*
VASP COMPILATIONS
환경변수를 설정하는 경우에는 기존에 설정된 것과 충돌이 일어나지 않도록 반드시 주석처리를 하고, 기존에 사용하던 프로그램들이 무엇으로 컴파일하였는지 반드시 기억해둘 것
1. mu와 rho에서 개인 환경 설정
환경 설정 경로
/mifs/(user_id)/tcshrc/tcshrc.mu.env
/mifs/(user_id)/tcshrc/tcshrc.rho.env
기존에 존재하는 아래 라인들을 주석 처리 (각 라인 맨 앞에 #을 추가하는 것을 주석 처리한다고 함)
source /opt/intel/bin/compilervars.csh intel64
source /opt/intel/mkl/bin/mklvars.csh intel64
source /opt/intel/impi/2017.1.132/bin64/mpivars.csh
2. 이후 아래 라인을 추가
source /opt/intel/parallel_studio_xe_2019_update5/compilers_and_libraries_2019/linux/bin/compilervars.csh intel64
source /opt/intel/parallel_studio_xe_2019_update5/compilers_and_libraries_2019.5.281/linux/mkl/bin/mklvars.csh intel64
source /opt/intel/parallel_studio_xe_2019_update5/compilers_and_libraries_2019.5.281/linux/mpi/intel64/bin/mpivars.csh
setenv MPICH_HOME /opt/intel/parallel_studio_xe_2019_update5/compilers_and_libraries_2019.5.281/linux/mpi (이와 유사한 이전 버전이 있으면 주석 처리할 것!)
• psi; intel compiler 2017 + intel mpi (avx)
• rho; intel compiler 2019 + intel mpi (old: avx, new: avx2)
• mu; intel compiler 2019 + intel mpi (avx2)
• psi; intel compiler 2017 + intel mpi (avx)
• rho; intel compiler 2019 + intel mpi (old: avx, new: avx2)
• mu; intel compiler 2019 + intel mpi (old: avx2, new: avx512)
ASE-VASP SCRIPTS
ase 를 통해 vasp을 실행하는 스크립트로 기존 ase에 존재하는 다양한 기능들을 함께 사용할 수 있다는 장점이 존재함.
연구실외 자료 ase_vasp_scripts-V.2019.12.08 참고 (추가적인 기능들은 ase홈페이지를 참고하여 수정하면 사용 가능)
추가로 pymatgen을 통해서도 vasp input을 설정할 수 있음.
http://kitchingroup.cheme.cmu.edu/dft-book/dft.html#orgheadline42
기본적인 계산 방법들이 잘 정리되어있으므로, 처음 VASP에 익숙해지기 전 또는 계산 방법에 대해 궁금할 때 참고하면 좋음.
PYSCF INSTALLATION
pip install pyscf # base package
git clone https://github.com/pyscf/mpi4pyscf/ # mpi wrapper
cd mpi4pyscf
pip install .
pip install -U pyberny # geometric optimizer
from pyscf import gto # gaussian basis
from mpi4pyscf import dft # method
from pyscf.geomopt.berny_solver import optimize
# Calculation set up
basis = ‘6-31g*’
xc = ‘b3lyp’
spin = 0 # 0 -> Singlet. 1 -> doublet. 2 -> triplet
charge = 0
# build molecule
mol = gto.M(atom=’H 0 0 0; F 0.9 0 0′, basis=basis,spin=spin,charge=charge)
# set up calculator
mf = dft.RKS(mol)
mf.xc = xc
# optimize
mol_eq = optimize(mf)
print(mol_eq.atom_coords())
The environment set up is:
source /opt/intel/parallel_studio_xe_2019_update5/compilers_and_libraries_2019/linux/bin/compilervars.csh intel64
source /opt/intel/parallel_studio_xe_2019_update5/compilers_and_libraries_2019.5.281/linux/mkl/bin/mklvars.csh intel64
source /opt/intel/parallel_studio_xe_2019_update5/compilers_and_libraries_2019.5.281/linux/mpi/intel64/bin/mpivars.csh
setenv MPICH_HOME /opt/intel/parallel_studio_xe_2019_update5/compilers_and_libraries_2019.5.281/linux/mpi
setenv PATH $MPICH_HOME/intel64/bin:$PATH
setenv LD_LIBRARY_PATH $MPICH_HOME/intel64/lib:/usr/lib64:$MPICH_HOME/intel64/include:$LD_LIBRARY_PATH
setenv LD_PRELOAD libmkl_core.so:libmkl_sequential.so:libmkl_intel_lp64.so:libmkl_avx2.so
Download
git clone https://github.com/sunqm/pyscf
cd pyscf/pyscf/lib
Change integral library to more optimal one. Change following line in CMakeLists.txt
GIT_REPOSITORY https://github.com/sunqm/libcint.git
to
GIT_REPOSITORY https://github.com/sunqm/qcint.git
Complie.
mkdir build
cd build
cmake -DBLA_VENDOR=Intel10_64lp_seq ..
make
Add to Python PATH
setenv PYTHONPATH “/XXXX/pyscf:$PYTHONPATH”
The performance boost for mkl vs non-mkl isn’t too large at least for small system.
But calculation speed of PySCF in mu is comparable to Q-Chem in kdft.