[리눅스] VASP 5.4.4. 설치 - Intel MIC (Xeon Phi, 제온 파이) KNL (Knights landing) 환경

In the world/컴퓨터 2018. 10. 17. 11:07

1. 설치 환경

CPU: Intel Skylake

OS: CentOS 7.3

컴파일러: Intel 2017 or 2018

수학라이브러리: Intel MKL 2017 or 2018

MPI: Intel MPI (impi) 2017 or 2018


2. 설치

- 소스코드 다운로드 및 압축 해제

$ tar xvzf vasp.5.4.4.tar.gz

$ cd vasp.5.4.4


- makefile.include 파일 복사

$ cp arch/makefile.include.linux_intel ./makefile.include


- makefile.include 편집


ADDITIONAL_OPTS=-O3 -qopenmp -xMIC-AVX512 -align array64byte
ADDITIONAL_OPTS_CC=-O3 -qopenmp -xCORE-AVX512

# Precompiler options
CPP_OPTIONS= -DMPI -DHOST=\"IFC15_impi\" \
-DCACHE_SIZE=12000 -Davoidalloc \
-DMPI_BLOCK=8000 -DscaLAPACK -Duse_collective \
-DnoAugXCmeta -Duse_bse_te \
-Dtbdyn -Dvasp6 \
-D_OPENMP -DPROFILING -Duse_shmem \
-Dshmem_bcast_buffer -Dsheme_rproj
CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)
FC = mpiifort -qopenmp -mkl=parallel ${ADDITIONAL_OPTS}
FCL = mpiifort -mkl=parallel ${ADDITIONAL_OPTS}
FREE = -free -names lowercase
FFLAGS = -assume byterecl
OFLAG = ${ADDITIONAL_OPTS}
OFLAG_IN = $(OFLAG)
DEBUG = -O0
MKL_PATH = $(MKLROOT)/lib/intel64
BLAS =
LAPACK =
BLACS = -L$(MKLROOT)/lib/intel64 -lmkl_blacs_intelmpi_lp64
SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS)
OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o
INCS =-I$(MKLROOT)/include/fftw
LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS)
OBJECTS_O1 += fft3dfurth.o fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O2 += fft3dlib.o

# For what used to be vasp.5.lib
CPP_LIB = $(CPP)
FC_LIB = $(FC)
CC_LIB = icc
CFLAGS_LIB = -O
FFLAGS_LIB = ${ADDITIONAL_OPTS}
FREE_LIB = $(FREE)
OBJECTS_LIB= linpack_double.o getshmem.o

# For the parser library
CXX_PARS = icpc
LIBS += parser
LLIBS += -Lparser -lparser -lstdc++

# # Normally no need to change this
SRCDIR = ../../src
BINDIR = ../../bin

#================================================
# GPU Stuff

CPP_GPU    = -DCUDA_GPU -DRPROMU_CPROJ_OVERLAP -DUSE_PINNED_MEMORY -DCUFFT_MIN=28 -UscaLAPACK

OBJECTS_GPU = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d_gpu.o fftmpiw_gpu.o

CC         = icc
CXX        = icpc
CFLAGS     = -fPIC -DADD_ -Wall -openmp -DMAGMA_WITH_MKL -DMAGMA_SETAFFINITY -DGPUSHMEM=300 -DHAVE_CUBLAS

CUDA_ROOT  ?= /usr/local/cuda/
NVCC       := $(CUDA_ROOT)/bin/nvcc -ccbin=icc
CUDA_LIB   := -L$(CUDA_ROOT)/lib64 -lnvToolsExt -lcudart -lcuda -lcufft -lcublas

GENCODE_ARCH    := -gencode=arch=compute_30,code=\"sm_30,compute_30\" \
                   -gencode=arch=compute_35,code=\"sm_35,compute_35\" \
                   -gencode=arch=compute_60,code=\"sm_60,compute_60\"

MPI_INC    = $(I_MPI_ROOT)/include64/ 


- 설치

$ make


끝.

: