MLIP 安装

安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 导入 oneAPI 套件
module purge
module load intel-oneapi-compilers/2021.4.0
module load intel-oneapi-mpi/2021.4.0
module load intel-oneapi-mkl/2021.4.0
module load intel-oneapi-tbb/2021.4.0

# 编译 MLIP
git clone https://gitlab.com/ashapeev/mlip-2.git
cd mlip-2
./configure # 生成 make 目录;自动检测所在平台是否有 MPI 环境
make mlp # 生成 bin 和 obj 目录
make libinterface # 生成 lib 目录

# 编译 MLIP 与 LAMMPS 的接口
cd ..
git clone https://gitlab.com/ashapeev/interface-lammps-mlip-2.git .
cd interface-lammps-mlip-2
cp ../mlip-2/lib/lib_mlip_interface.a .

# 在 preinstall.sh 文件结尾添加需安装的 package
make yes-<package>
# 不需要添加 make yes-STUBS
# 可注释 install.sh 脚本中的 make mpi-stubs 命令

# 编译写法
./install.sh <path-to-lammps> <lammps-target>
# 示例
./install.sh ../lammps-29Aug2024 intel_cpu_intelmpi

# 其他 LAMMPS target
g++_mpich
mpi
g++_serial
serial

# 检查
./intel_cpu_intelmpi -h # Pair styles 会多出 mlip

相关问题

  • 不建议在 Arm 平台编译,可 module load 的程序少且版本旧;不建议在 Manager 编译,Intel 版本较老

  • preinstall.sh 中添加 make yes-STUBS,编译报错:需注释 make yes-STUBS

1
2
3
4
../mpi.cpp:18:24: fatal error: ../version.h: No such file or directory
#include "../version.h"
^
compilation terminated.
  • tbbmalloc 报错:还需导入 intel-oneapi-tbb/2021.4.0
1
2
ld: cannot find -ltbbmalloc
make[1]: *** [Makefile:98: ../lmp_intel_cpu_intelmpi] Error 1
  • mpi-stubs 放在 intel_cpu_intelmpi 前的作用:平台中若无 MPI 环境,提供一个虚拟的 MPI 库,“欺骗” 需要 MPI 环境的包,使其正常编译;不会对其造成影响(还是建议将其注释掉)
1
2
make mpi-stubs
make intel_cpu_intelmpi -lgfortran
  • MTP 机器学习势函数没有 GPU 版本