非计算机专业对Linux下软件编译缺乏概念,下面简单梳理下Vasp编译时的一些概念,帮助理解。
VASP 是 Fortran 写的平面波 DFT 程序。虽然不是 free software,但 VASP 的 license 并不贵,计算效率高,而且允许用户自行修改源码实现想要的功能;
思考题:
1. 为什么Vasp的软件需要编译安装,不能像windows应用程序有安装包?
如果要编译安装,了解编译器基本知识Inter,MS,GNU
GNU是开源免费的
编译安装工具:
sudo apt-get install make build-essential g++ gfortran
然后安装 BLAS、LAPACK、SCALAPACK、FFTW3、OpenMPI(这些是科学计算第三方依赖库)
sudo apt-get install libblas-dev liblapack-dev libscalapack-mpi-dev libfftw3-dev libopenmpi-dev
为了加速计算,可以安装 Intel MKL(闭源、学术免费)。首先下载 GnuPG key
cd /tmp
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
然后把 MKL 加到 apt-get 的列表里
sudo sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
sudo apt-get update
最后,安装 MKL,一路按 Tab 补全,查看选择最新的版本:
sudo apt-get intel-mkl-64bit-2020.4-912
安完之后在 ~/.bashrc 里设置 MKLROOT 环境变量,可以加入~/.bashrc:
export MKLROOT=/opt/intel/mkl
export PATH=$PATH:/opt/intel/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/mkl/lib/intel64_lin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/mkl/lib/intel64
之后再安装Vasp即可。