之前我们介绍过在LAMMPS中使用CHGNet的方法,最近,具有E(3)等变的NequIP也得到了很多的关注,笔者测试也觉得在很多场景下其相比CHGNet会更加好用,在这里介绍一下安装加入了NequIP pair style的Lammps安装方法。
1.安装Conda
2.新建Conda环境
由于NequIP对于Python和PyTorch版本有以下要求:
- Python >= 3.7
- PyTorch >= 1.8, !=1.9, <=1.11.*.
NequIP也要求PyTorch or LibTorch >= 1.10.0。
综合考虑我们选择Python 3.8+PyTorch 1.11.0环境,而且注意如果只是用NequIP不需要装torchvision和torchaudio,可以节省空间。这里Wandb是用来可视化训练日志的工具Weights & Biases,如果没有需求可以不装。
conda create -n nequip python=3.8
conda activate nequip
pip install wandb
conda install pytorch=1.11.0 cpuonly -c pytorch
pip install nequip
3.下载LAMMPS
从LAMMPS官方Github仓库下载LAMMPS stable_29Sep2021_update2版本,以及下载NequIP pair style。
git clone -b stable_29Sep2021_update2 --depth 1 [email protected]:lammps/lammps
git clone [email protected]:mir-group/pair_nequip
进入pair_nequip目录,执行
./patch_lammps.sh /path/to/lammps/
其中/path/to/lammps/是刚才下载的LAMMPS源码位置。,该脚本会自动完成pair style复制以及CMakeLists的修改。
4.编译
接下来使用Intel Oneapi进行编译,自行加载相应环境。
cd lammps
mkdir build
cd build
cmake ../cmake -DCMAKE_PREFIX_PATH=`python -c 'import torch;print(torch.utils.cmake_prefix_path)'`
make -j$(nproc)
完成后/path/to/lammps/build/lmp即为我们所需的支持NequIP的LAMMPS二进制文件。不过需要注意的是,由于消息传递神经网络的特点,NequIP不支持MPI,该课题组还有支持MPI和并行加速的程序Allegro(https://github.com/mir-group/allegro)。