LAMMPS和QE在PC上的的编译安装
LAMMPS和QE的编译安装
设备为32gDDR4内存,处理器intel i7-12650H,显卡RTX4060laptop。操作系统为win11下的ubuntu24.04LTS-wsl2
kokkos加速lammps的编译(RTX4060)
解压lammps源代码
1 | tar -xzvf lammps-src-22Jul2025_update2.tar.gz |
安装cuda12.6
注意不要用cuda13.0(新版),lammps和kokkos尚未完全适配,下面的安装命令在英伟达cuda官网上提供
1 | wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb |
依次执行指令后更新环境变量:打开/home/user(用户名)/.bashrc,在末尾插入
1 | export CUDA_HOME=/usr/local/cuda |
重启系统或source ~/.bashrc以重新加载环境变量,
在bash终端输入nvcc -V以查看cuda版本(与nvcc编译器版本一致)
安装系统依赖
1 | sudo apt update |
安装了一些基本的构建工具和科学计算环境,直接依次运行即可
使用cmake编译lammps
cmake是lammps推荐的现代化构建工具,在源代码目录下创建并进入build文件夹,在bash终端中依次运行下列指令
1 | cmake -C ../cmake/presets/basic.cmake -C ../cmake/presets/kokkos-cuda.cmake ../cmake |
加载basic和基于cuda的kokkos加速两个预设构建选项,这样构建的lammps能支持gpu加速和基本的分子动力学计算
1 | cmake -D BUILD_MPI=yes -D PKG_ASPHERE=on -D PKG_BOCS=on -D PKG_BODY=on -D PKG_BROWNIAN=on -D PKG_CG-SDK=on -D PKG_CLASS2=on -D PKG_COLLOID=on -D PKG_CORESHELL=on -D PKG_DIELECTRIC=on -D PKG_DIFFRACTION=on -D PKG_DIPOLE=on -D PKG_DPD-BASIC=on -D PKG_DPD-MESO=on -D PKG_DPD-REACT=on -D PKG_DPD-SMOOTH=on -D PKG_DRUDE=on -D PKG_EFF=on -D PKG_EXTRA-COMPUTE=on -D PKG_EXTRA-DUMP=on -D PKG_EXTRA-FIX=on -D PKG_EXTRA-MOLECULE=on -D PKG_EXTRA-PAIR=on -D PKG_FEP=on -D PKG_GRANULAR=on -D PKG_KSPACE=on -D PKG_MANIFOLD=on -D PKG_MANYBODY=on -D PKG_MC=on -D PKG_MEAM=on -D PKG_MGPT=on -D PKG_MISC=on -D PKG_ML-IAP=on -D PKG_ML-SNAP=on -D PKG_MOFFF=on -D PKG_MOLECULE=on -D PKG_OPENMP=on -D PKG_OPT=on -D PKG_ORIENT=on -D PKG_PERI=on -D PKG_PHONON=on -D PKG_PLUGIN=on -D PKG_PTM=on -D PKG_QEQ=on -D PKG_QTB=on -D PKG_REACTION=on -D PKG_REAXFF=on -D PKG_REPLICA=on -D PKG_RIGID=on -D PKG_SHOCK=on -D PKG_SMTBQ=on -D PKG_SPH=on -D PKG_SPIN=on -D PKG_SRD=on -D PKG_TALLY=on -D PKG_UEF=on -D PKG_YAFF=on ../cmake |
添加一些可能用到的包,如果确定某些包不需要,可以把on改为off,但是推荐尽可能多的安装可构建的包
(可选)
如果要安装KIM(一个势函数数据库),则必须安装 kim-property,否则lammps不能调用openkim,由于ubuntu24.04不允许直接在系统python环境安装第三方包,需要先下载一个conda环境
1 | wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh |
使用8个核并行编译,可以根据自己的机器进行选择(可用核心的一半左右,太大容易爆内存),默认安装到/usr/local
安装后在~/.bashrc末尾增加环境变量
1 | export LD_LIBRARY_PATH=/home/dmy2084/lammps-22Jul2025/build/kim_build-prefix/lib:$LD_LIBRARY_PATH |
否则lammps将由于识别不到KIM而无法启动,不选择安装KIM包则不需要此操作。
不要删除build文件夹,删除后下次编译需要从头开始。其他用cmake构建的软件同理。当构建失败时,需要运行make clean命令或手动删除build文件夹重新构建。
intel oneapi加速的QE7.5的cmake编译安装
QE使用RTX4060的cuda加速收益不高,推荐使用英特尔mkl进行加速
安装intel oneapi
oneapi内置了mkl和高度优化的fortran编译器,所以比gfortran快很多
1 | wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/0884ef13-20f3-41d3-baa2-362fc31de8eb/intel-oneapi-hpc-toolkit-2025.0.0.825_offline.sh |
默认有一个图形化安装程序,取消掉神经网络等无用的安装选项
为了避免干扰系统内的编译器和并行环境,intel oneapi是默认不启动的,需要在使用前通过一个脚本进行加载,编译和使用链接到intel mkl的软件前,需要运行
1 | source /opt/intel/oneapi/setvars.sh |
编译libxc
Libxc 是量子化学和材料模拟软件里非常重要的一个库,它提供各种交换-关联(XC) 功能的实现.
编译libxc需要和qe主程序使用相同的编译器,以免识别错误。图省事不用cmake了,直接用传统 GNU make方式,在源代码目录下执行
1 | tar -xjvf libxc-7.0.0.tar.bz2 |
下载wannier90源代码
下载wannier90.v3.1.0.tar.gz(最新版)安装包,解压然后拷贝到QE7.5/archive下,并改名为v3.1.0。
编译安装qe-7.5
生成配置文件,由于在同一台机器上安装了lammps,公用的依赖不必重新安装,在源代码目录下创建并进入build文件夹,然后在bash终端中依次运行下列指令。
1 | sudo apt install pkg-config |
LAMMPS和QE在PC上的的编译安装