VASP中GPU并行编译安装的示例分析
小编给大家分享一下VASP中GPU并行编译安装的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站制作、成都外贸网站建设、黄梅网络推广、小程序制作、黄梅网络营销、黄梅企业策划、黄梅品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供黄梅建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
安装CUDA
CUDA版本11.0及以上 略。。。
安装Intel编译器
##Intel编译器选择2021版免费的oneAPI,Base基础包+HPC包 sudo bash l_BaseKit_p_2021.2.0.2883_offline.sh sudo bash l_HPCKit_p_2021.2.0.2997_offline.sh ##添加环境变量 编辑.bashrc或/etc/profile添加 source /opt/intel/oneapi/setvars.sh intel64 ##编译fftw cd /opt/intel/oneapi/mkl/2021.2.0/interfaces/fftw3xf/ make libintel64 #无权限可将/opt/intel/oneapi修改user属主属组
安装VASP
tar xvf vasp.6.1.0.tar.gz cd vasp.6.1.0 cp arch/makefile.include.linux_intel makefile.include 修改文件makefile.include make all
测试VASP
unzip test.zip cd test mpirun -np 30 vasp_std mpirun -np 30 vasp_gpu
makefile.include配置文件内容如下
#Precompiler options CPP_OPTIONS= -DHOST=\"LinuxIFC\"\ -DMPI -DMPI_BLOCK=8000 -Duse_collective \ -DscaLAPACK \ -DCACHE_SIZE=4000 \ -Davoidalloc \ -Dvasp6 \ -Duse_bse_te \ -Dtbdyn \ -Dfock_dblbuf CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS) FC = mpiifort FCL = mpiifort -mkl=sequential FREE = -free -names lowercase FFLAGS = -assume byterecl -w -xHOST OFLAG = -O2 OFLAG_IN = $(OFLAG) DEBUG = -O0 MKLROOT = /opt/intel/oneapi/mkl/2021.2.0 MKL_PATH = $(MKLROOT)/lib/intel64 BLAS = -L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread LAPACK = -L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread BLACS = -lmkl_blacs_intelmpi_lp64 SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS) OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o \ $(MKLROOT)/interfaces/fftw3xf/libfftw3xf_intel.a INCS =-I$(MKLROOT)/include/fftw LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) 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 LLIBS += -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 -Ufock_dblbuf OBJECTS_GPU= fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d_gpu.o fftmpiw_gpu.o CC = icc CXX = icpc CFLAGS = -fPIC -DADD_ -Wall -qopenmp -DMAGMA_WITH_MKL -DMAGMA_SETAFFINITY -DGPUSHMEM=300 -DHAVE_CUBLAS CUDA_ROOT ?= /usr/local/cuda/ NVCC := $(CUDA_ROOT)/bin/nvcc -ccbin=icc -allow-unsupported-compiler CUDA_LIB := -L$(CUDA_ROOT)/lib64 -lnvToolsExt -lcudart -lcuda -lcufft -lcublas GENCODE_ARCH := -gencode=arch=compute_60,code=\"sm_60,compute_60\" \ -gencode=arch=compute_70,code=\"sm_70,compute_70\" \ -gencode=arch=compute_72,code=\"sm_72,compute_72\" \ -gencode=arch=compute_80,code=\"sm_80,compute_80\" I_MPI_ROOT = /opt/intel/oneapi/mpi/2021.2.0 MPI_INC = $(I_MPI_ROOT)/include/
看完了这篇文章,相信你对“VASP中GPU并行编译安装的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
本文题目:VASP中GPU并行编译安装的示例分析
网站网址:http://scjbc.cn/article/jdgssd.html