VASP 5.4.4编译
之前根据sobereva老师的视频写过名为 VASP 5.4.4极简安装方法 的随笔,笔者亲自实践过,编译的也没问题,测试作业也正常,但是后来发现这样编译的vasp仍有问题,运行内存会不断增长,大概半小时后,mem到达了最大值,然后使用swap继续增长,mem和swap全用光了之后,作业直接断掉。于是乎笔者使用较新的编译器(parallel_studio_xe_2020_update4_cluster_edition)试了一下,并参考了 VASP安装与运行 的makefile.include 以及使用了fftw,这样编译出来的vasp目前没出现问题。
parallel_studio_xe的安装同 VASP 5.4.4极简安装方法 ,然后将
. /opt/intel/parallel_studio_xe_2020.4.912/psxevars.sh
加入 /etc/profile 后重启终端,出现了
Intel(R) Parallel Studio XE 2020 Update 4 for Linux* Copyright 2009-2020 Intel Corporation.
然后
which icc ifort icpc mpiifort
发现都能找的到,开始编译fftw,此处为 fftw-3.3.9
./configure -prefix=/opt/fftw339 CC=icc F77=ifort MPICC=mpiicc -enable-mpi make make install
最后进行vasp编译,在此列出我的makefile.include供参考
# Precompiler options CPP_OPTIONS= -DHOST=\"LinuxIFC\"\ -DMPI -DMPI_BLOCK=8000 \ -Duse_collective \ -DscaLAPACK \ -DCACHE_SIZE=4000 \ -Davoidalloc \ -Duse_bse_te \ -Dtbdyn \ -Duse_shmem\ -Dlibbeef CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS) FC = mpiifort FCL = mpiifort -mkl FREE = -free -names lowercase FFLAGS = -assume byterecl -w -heap-arrays 64 OFLAG = -O2 -xhost OFLAG_IN = $(OFLAG) DEBUG = -O0 MKL_PATH = /opt/intel/compilers_and_libraries_2020.4.304/linux/mkl/lib/intel64/ BLAS =-L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lmkl_blacs_intelmpi_lp64 -lmkl_scalapack_lp64 LAPACK = BLACS = SCALAPACK = OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o /opt/fftw339/lib/libfftw3_mpi.a INCS =-I/opt/fftw339/include BEEF = -L/home/zhu/software/beef/lib -lbeef LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) $(BEEF) OBJECTS_O1 += 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 = -O1 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/
PS:笔者控制变量,将PSXE2020换成PSXE2019,还是会出现之前的问题,并没有测试使用fftw与否的影响。
本文来自博客园,作者:BangBro,转载请注明原文链接:https://www.cnblogs.com/bangbro/p/14272409.html