VASP 6.3.0 安装包下载:
vasp.6.3.0.tgz
访问密码:
众所周知,VASP是一款“商用开源”软件(指付费解锁代码,免费什么也没有),其非常负责的态度使得个人没有渠道来正常获取VASP源文件.
Who can apply?
Licenses are issued to well-defined research groups under the direction of a single chair, professor, or group leader at one single physical location. Individual students or entire departments/faculties are not eligible.
参考VASP项目官网Get a lisence.
据校内某团队信息,课题组通过国内代理商花费大约7万余人民币购买了3年的更新. 我对这种定价和模式保留意见,这不符合开源精神,当然,VASP并不是开源软件.
根据sobereva的统计,2024年计算化学公社参与投票的565人,在25款第一性原理程序中投出他们最常用的:
这不能说明全部,但是在相当长的一段时间内VASP依然是相当多人的主要计算程序.
在部署以前
目的
博主部署VASP的目的主要是进行学习和可行性验证等,并非实际生产环境,主要保证能跑起来,而非高效的跑起来.
参考
VASP的最简单的安装方法
從零開始透過Spack套件管理器部屬VASP全家桶
在AMD机器上安装DFT计算软件VASP.6.2.0简明教程
使用aocc+aocl从头编译使用openmpi的vasp6
配置
配件名 | 型号 | 数量 |
CPU | AMD Ryzen R9 7950X | 1 |
主板 | 华硕 TUF B650M GAMING PLUS WIFI | 1 |
内存 | 金士顿 FURY BEAST ddr5 c30 32G | 2 |
显卡 | 耕升RTX4070Ti Super 16G 追风 | 1 |
SSD | 三星 990 evo plus 2T | 1 |
在这里并没有用到显卡,但也有通过GPU加速第一性原理计算的方式. 通常来说,生产实际中为CPU每个核心预留8G内存.
路径
我们使用spack. 据说通过spack部署的VASP相对于直接编译得到的拥有较低的效率,不过这并不在我们的讨论范围内.
Spack is a package manager for supercomputers, Linux, and macOS. It makes installing scientific software easy. Spack isn’t tied to a particular language; you can build a software stack in Python or R, link to libraries written in C, C++, or Fortran, and easily swap compilers or target specific microarchitectures.
经过AMD和各位先辈的努力,现如今利用AOCC和AOCL编译已经可行且效率可观.
部署
布置环境
在root下运行:
export SPACK_ROOT=/opt/spack
git clone -c feature.manyFiles=true https://github.com/spack/spack.git ${SPACK_ROOT}
source ${SPACK_ROOT}/share/spack/setup-env.sh
写入~/.bashrc
或~/.zshrc
等:
export SPACK_ROOT=/opt/spack
source ${SPACK_ROOT}/share/spack/setup-env.sh
随后
source ~/.bashrc #(或.zshrc)
安装AOCC依赖:
apt install lbzip2
安装AOCC:
spack install aocc +license-agreed
自动查找添加编译器:
spack compiler find
确定现有编译器:
spack compilers
加载AOCC
spack load aocc
安装VASP
cd进入有vasp.6.3.0.tgz
的目录,随后进行安装。
注意,版本必须填写6.3.0,spack是从本地调用的vasp包,不指明版本将尝试使用[email protected],进而安装失败. spack -j
参数同make
,后跟随CPU核数(核数高于16核区别不大),其余版本和参数按需调整.
spack install -j 32 [email protected] +openmp +fftlib +hdf5 %aocc ^amdfftw ^amdblis threads=openmp ^amdlibflame ^amdscalapack ^openmpi fabrics=cma,ucx
在7950x上消耗约40分钟,安装完成后加载vasp
spack load vasp %aocc
后续参考下面,注意修改为自己的路径,如/opt/spack/opt/spack/linux-zen4/vasp-6.3.0-k3tpqsutalrz36sefzq63rglfnfjo2f7
.
复制.spack
到用户目录,以使用编译器等,或切换至目标用户手动查找.
cp -r ~/.spack /home/someone/
将vasp.6.3.0.tgz
复制解压在合适的位置,如~/vasp
cd ~/vasp
tar -xvzf vasp.6.3.0.tgz
cd vasp.6.3.0
创建软链接
ln -s /opt/spack/opt/spack/linux-zen4/vasp-6.3.0-k3tpqsutalrz36sefzq63rglfnfjo2f7/bin/vasp_std bin/vasp_std
ln -s /opt/spack/opt/spack/linux-zen4/vasp-6.3.0-k3tpqsutalrz36sefzq63rglfnfjo2f7/bin/vasp_gam bin/vasp_gam
ln -s /opt/spack/opt/spack/linux-zen4/vasp-6.3.0-k3tpqsutalrz36sefzq63rglfnfjo2f7/bin/vasp_ncl bin/vasp_ncl
再次加载(不确定是否需要)
spack load vasp %aocc
后记
对于不同算例,不同编译器得到的vasp效率不同. 一些情况下,基于oneAPI(由因特尔开发)的vasp效率会高于AOCC. 实际在使用AMD CPU时,应当采用不同编译器多编译几个版本,在进行测试的后选取效率更高的进行运算.
评论区(暂无评论)