非計算機專業對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即可。