从0到1教你如何在Linux系统部署vasp,亲测有效

您所在的位置:网站首页 vasp软件包介绍 从0到1教你如何在Linux系统部署vasp,亲测有效

从0到1教你如何在Linux系统部署vasp,亲测有效

2024-07-14 01:17:26| 来源: 网络整理| 查看: 265

VASP全称(Vienna Ab-initio Simulation Package),是维也纳大学Hafner小组开发的进行电子结构计算和量子力学-分子动力学模拟软件包。

vasp是目前主流的第一性原理计算软件,它使用赝势和平面波基函数,可以计算周期性结构材料的结构参数、力学性质、电子结构、光学磁学性质等,也可以对体系进行从头算分子动力学模拟等计算。近半年VASP论文引用量800+。

目前大多数科研机构和学校都是通过购买线上超算资源来使用vasp计算,但如何部署使用软件,对于很多常用Windows系统的初学者来说不太友好。

本教程将详细介绍VASP软件在Linux系统下基本部署方法。接下来一段时间,小编会持续更新系列计算软件相关教程,以及Linux系统系统下使用科学计算软件的常用方法,希望有感兴趣、有意愿学习的朋友多关注公众号《集群计算技术》后续更新内容

安装编译环境Intel oneAPI

进入intel官网

https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/toolkits.html选择需要安装的工具包,需要安装:Base Toolkit和HPC Toolkit两部分

点击进入下载页面后,选择对应的系统的版本

执行安装脚本 :

sh ./l_BaseKit_p_2024.1.0.596_offline.shsh ./l_HPCKit_p_2024.1.0.560_offline.sh

建议先安装Base toolkit再安装HPC toolkit,如果不需要改配置,就一路默认选项

安装完成:默认安装路径在/opt/intel/oneapi/xxx

source /path/oneapi/setvars.sh

检查所需要的编译环境

安装部署VASP

加载编译依赖环境:

source /path/oneapi/setvars.sh

解压VASP源码包

tar -xvf vasp.6.xx.tgz

进入主目录

cd vasp.6.xx

为当前环境准备makefile.include (通过修改对应的编译配置文件选择适应系统以及编译可选功能)

cp -r arch/makefile.include.intel_omp ./makefile.include

编译选项参考修改

使用intel-oneAPI编译器+MKL数学库+intelmpi实现MPI+openmp支持多线程,主要注意注释部分的内容

​# Default precompiler optionsCPP_OPTIONS = -DHOST=\"LinuxIFC\" \-DMPI -DMPI_BLOCK=8000 -Duse_collective \-DscaLAPACK \-DCACHE_SIZE=4000 \-Davoidalloc \-Dvasp6 \-Duse_bse_te \-Dtbdyn \-Dfock_dblbuf-D_OPENMP #vasp-6.3.2使用intelmpi-2021.3版本不支持多线程,可以根据实际加载环境版本调整。CPP= fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)FC= mpiifort -qopenmpFCL= mpiifortFREE= -free -names lowercaseFFLAGS= -assume byterecl -wOFLAG= -O2OFLAG_IN= $(OFLAG)DEBUG= -O0OBJECTS= fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.oOBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.oOBJECTS_O2 += fft3dlib.o# For what used to be vasp.5.libCPP_LIB= $(CPP)FC_LIB= $(FC)CC_LIB= iccCFLAGS_LIB= -OFFLAGS_LIB= -O1FREE_LIB= $(FREE)OBJECTS_LIB = linpack_double.o# For the parser libraryCXX_PARS= icpcLLIBS= -lstdc++#### Customize as of this point! Of course you may change the preceding## part of this file as well if you like, but it should rarely be## necessary ...### When compiling on the target machine itself, change this to the# relevant target when cross-compiling for another architecture#VASP_TARGET_CPU ?= -xHOST#FFLAGS+= $(VASP_TARGET_CPU)  ##amd平台不支持-xHOST,需要注释掉# Intel MKL (FFTW, BLAS, LAPACK, and scaLAPACK)# (Note: for Intel Parallel Studio's MKL use -mkl instead of -qmkl)FCL+= -mklMKLROOT?= path/compilers_and_libraries_2020.1.217/mkl ## 修改为echo $MKLROOT的路径LLIBS+= -L$(MKLROOT)/lib/intel64 -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64INCS=-I$(MKLROOT)/include/fftw# HDF5-support (optional but strongly recommended)#CPP_OPTIONS+= -DVASP_HDF5#HDF5_ROOT?= /path/to/your/hdf5/installation#LLIBS+= -L$(HDF5_ROOT)/lib -lhdf5_fortran#INCS+= -I$(HDF5_ROOT)/include# For the VASP-2-Wannier90 interface (optional)#CPP_OPTIONS+= -DVASP2WANNIER90#WANNIER90_ROOT ?= /path/to/your/wannier90/installation#LLIBS+= -L$(WANNIER90_ROOT)/lib -lwannier# For the fftlib library (hardly any benefit in combination with MKL's FFTs)#FCL= mpiifort fftlib.o -qmkl#CXX_FFTLIB= icpc -qopenmp -std=c++11 -DFFTLIB_USE_MKL -DFFTLIB_THREADSAFE#INCS_FFTLIB = -I./include -I$(MKLROOT)/include/fftw#LIBS+= fftlib​ make DEPS=1 -j24 all

并行编译gam,std,ncl三个版本。

非Intel平台的优化和注意事项

AMD平台不支持-xHOST;-xHOST是Intel 编译器针对Intel处理器增加的编译优化选项.

perf top  查看指令集使用情况

图中显示调用了AVX2指令集

intelmpi-2021.3不支持编译多线程版本的vasp。报错信息如下。如需编译多线程版本,需要更换intelmpi版本。

VASP使用MKL库完成其中的数学运算,但该库会通过内部函数检测是否为Intel处理器,在Intel处理器上MKL库的加速效果更好。分析显示MKL使用函数mkl_serv_intel_cpu_true来检测它是否在处理真正的Intel CPU。

在intel mkl 2020版本之前可以通过使用环境变量MKL_DEBUG_CPU_TYPE=5可以使numpy运算速度再加快一些,但后续版本移除了这个变量。我们可以用自己的函数来代替它:

intmkl_serv_intel_cpu_true() {return 1;}

并向其编译为共享库:

$ gcc -shared -fPIC -o libisintel.so isintel.

libisintel.so是识别cpu处理器型号的函数,AMD平台上可以加载这个库,替换掉MKL中自带的函数,把AMD识别为Intel,以更好发挥MKL数学库的计算能力。

export LD_PRELOAD=/PATH/libisintel.so

编译结果

可执行文件生成目录:

cd vasp-6.x.x/bin

参考引用:

1.      https://www.vasp.at/wiki/index.php/The_VASP_Manual

2.      https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/toolkits.html



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭