|
In the world/컴퓨터 2018. 10. 17. 11:01
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 -xCORE-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
끝.
In the world/컴퓨터 2009. 9. 4. 15:51
vasp 5.2.2 를 pgi compiler를 이용하여 설치하면 실행할 때 이유없이 죽는 기묘한 현상이 발생한다. 특정 변수가 mpi 루틴에서 사용될 때 mpi 프로세스가 이유없이 죽는다. 참고로 intel compiler를 사용하여 설치한 경우는 이 분제가 발생하지 않는다. 이를 해결하기 위해서 paw.F 라는 코드에서 선언되는 일부 변수를 동적으로 메모리에 할당되도록 변경해 주면 된다. 1. Near line 880
(ALLOCATABLE 변수로 선언한다.)
LOGICAL, EXTERNAL :: USEFOCK_CONTRIBUTION, USEFOCK_AE_ONECENTER
REAL(q) DDLM(LMDIM*LMDIM),RHOLM(LMDIM*LMDIM),RHOLM_(LMDIM*LMDIM,WDES%NCDIJ)
!OVERLAP CTMP(LMDIM,LMDIM,MAX(2,WDES%NCDIJ)),CSO(LMDIM,LMDIM,WDES%NCDIJ), &
! CHF(LMDIM,LMDIM,WDES%NCDIJ)
!OVERLAP COCC(LMDIM,LMDIM,MAX(2,WDES%NCDIJ)),COCC_IM(LMDIM,LMDIM)
OVERLAP,ALLOCATABLE:: CTMP(:,:,:),CSO(:,:,:),CHF(:,:,:)
OVERLAP,ALLOCATABLE:: COCC(:,:,:),COCC_IM(:,:)
REAL(q),ALLOCATABLE :: POT(:,:,:), RHO(:,:,:), POTAE(:,:,:), RHOAE(:,:,:)
2. around Line 958 (ALLOCATE 문으로 메모리에 할당해 준다.)
ALLOCATE (RHOCOL( NDIM, LMMAX, NCDIJ ))
ALLOCATE (CTMP(LMDIM,LMDIM,MAX(2,WDES%NCDIJ)),CSO(LMDIM,LMDIM,WDES%NCDIJ), &
CHF(LMDIM,LMDIM,MAX(2,WDES%NCDIJ)))
ALLOCATE (COCC(LMDIM,LMDIM,MAX(2,WDES%NCDIJ)),COCC_IM(LMDIM,LMDIM))
! allocate kinetic energy density if metagga
3. around line 1428
(DEALLOCATE 문으로 메모리에서 제거한다.)
E%PAWAE=DOUBLEC_AE
E%PAWPS=DOUBLEC_PS
DEALLOCATE (COCC,COCC_IM,CHF)
DEALLOCATE (CTMP,CSO)
IF (LUSE_THOMAS_FERMI) CALL POP_XC_TYPE
CALL RELEASE_PAWFOCK
END SUBROUTINE SET_DD_PAW
|