Install and load
PWMLFF
和 Lammps
分子动力学接口需要通过源码编译安装,我们提供了离线安装、在线安装两种方式。
对于 龙讯超算云(Mcloud
) 用户,我们已经做了预装,只需要加载即可使用。
Mcloud 用户加载
加载 PWMLFF
龙讯超算云(Mcloud
)
已有配置好的 conda 环境和 PWMLFF 软件包,避免自己安装 anaconda, cudatoolkit, pytorch 等极度耗时的过程,使用 PWMLFF
请加载以下环境变量即可:
# 加载conda 环境
# 这里推荐
source /share/app/PWMLFF/PWMLFF2024.5/env.sh
# 或者采用以下方式分步加载
# source /share/app/anaconda3/etc/profile.d/conda.sh
# module load conda/3-2020.07
# conda deactivate
# conda activate PWMLFF
# module load pwmlff/2024.5
加载 lammps 接口
Mcloud 已经为用户安装PWMLFF-2024.5对应的lammps接口,使用如下命令加载即可。
module load lammps4pwmlff/2024.5
mpirun -np 4 lmp_mpi_gpu -in in.lammps
# 如果您使用cpu version
# mpirun -np 1 lmp_mpi -in in.lammps
该 lammps 接口已经预装了下列功能:
KSPACE
、 MANYBODY
、 REAXFF
、 MOLECULE
、 QEQ
、 REPLICA
、 RIGID
、 MEAM
、 MC
、 PWMLFF
lammps4pwmlff/2024.5 接口用于 DP 模型和 NEP 模型的 MD,并支持多GPU卡加速。
对于 Linear 和 NN 模型的lammps 接口,我们提供了 cpu 版本的接口,请加载
lammps4pwmlff/0.1.0
离线安装
PWMLFF 离线安装包集成了 PWMLFF 和 Lammps 接口。 包含 Fortran
、Python (Pytorch2.0)
、 C++
和 C++ CUDA
加速算子,需要 Python 环境
、gcc 编译器
、intel编译器套件
(包括ifort
、icc
编译器、mkl
和mpi
库,以及 nvidia GPU
硬件支持。
由于 conda 环境配置较为耗时,且部分用户设备无法联网。我们在离线安装包中配 置好了conda 环境,用户只需要下载离线包,安装后即可使用。
1. 下载离线安装包
方法一 请访问百度网盘下载,链接如果失效请邮件联系 wuxingxing@pwmat.com
或support@pwmat.com
:
👉 离线安装包下载 pwmlff-2024.5.sh.tar.gz
方法二 邮件获取,建议您发送邮件到 wuxingxing@pwmat.com
或 support@pwmat.com
获取离线安装包。相比于百度网盘,通过邮件链接下载的速度更快(几十倍以上)。
2. 解压安装包
离线安装包内容较大,我们拆分成了4个文件,安装方式如下所示:
# 合并4个文件到1个压缩文件
cat pwmlff-2024.5.sh.tar.gz.part_aa pwmlff-2024.5.sh.tar.gz.part_ab pwmlff-2024.5.sh.tar.gz.part_ac pwmlff-2024.5.sh.tar.gz.part_ad > pwmlff-2024.5.sh.tar.gz
# 解压文件
tar -xzvf pwmlff.2024.5.sh.tar.gz
解压后得到如下文件:
pwmlff-2024.5.sh
, check_offenv.sh
3. 检查编译器版本
大部分的安装失败问题都源于编译器的版本不正确,我们提供了检查编译器版本的脚本check_offenv.sh
供用户检查环境。
我们推荐使用 intel2020
版本,cuda/11.8
,gcc 版本 8.n
。
这是因为,PWMLFF中使用的pytorch
版本为2.0
以上,必须使用 cuda/11.8
或更高版本。对于 intel/2020
编译套件,使用了它的 ifort
和 icc
编译器(19.1.3
)、mpi(2019)
、mkl库(2020)
,如果单独加载,请确保版本不低于它们。
离线安装包解压后会得到安装包pwmlff-2024.5.sh
以及 check_offenv.sh
,执行如下命令
sh check_offenv.sh
命令执行后会列出需要的编译器版本以及当前检测到的版本,如下是一个正确的环境配置检查结果:
ifort version is no less than 19.1, current version is 19.1.
MKL library is installed.
GCC version is exactly 8, current version is 8.
CUDA version is 11.8 or higher, current version is 11.8.89.
nvcc command exists.
第1行输出了 ifort 编译器要求的版本不低于19.1,检测到当前的版本是19.1,满足要求;
第2行查找 MKF 库是否存在,检测到已安装,满足要求;
第3行输出了 GCC 要求的版本 8.n, 检测到当前的GCC版本是8,满足要求;
第4行检查 CUDA 版本是否不低于11.8,检测到当前的版本是 11.8.89,满足要求;
第5行检查 nvcc 编译器是否存在,检测到存在,满足要求。
4. 执行安装命令
环境检查完毕后,执行如下命令即可完成安装
sh pwmlff-2024.5.sh
安装窗口最后出现如下日志输出,则安装成功。
mpicxx -g -O3 -std=c++17 -L/the/path/to/PWMLFF-2024.5/pwmlff-2024.5/lib -lpython3.11 -static-libstdc++ -static-libgcc -L/the/path/to/PWMLFF-2024.5/pwmlff-2024.5/lib/python3.11/site-packages/torch/lib/ -ltorch -lc10 -ltorch_cpu -L/the/path/to/PWMLFF-2024.5/lammps-2024.5/src/Obj_mpi/.. -lnep_gpu -L/share/app/cuda/cuda-11.8/lib64 -lcudart -L/the/path/to/PWMLFF-2024.5/PWMLFF/src/op/build/lib -lCalcOps_bind_cpu main.o -L. -llammps_mpi -ldl -o ../lmp_mpi
size ../lmp_mpi
text data bss dec hex filename
11935009 37912 22640 11995561 b709a9 ../lmp_mpi
make[1]: Leaving directory `/the/path/to/PWMLFF-2024.5/lammps-2024.5/src/Obj_mpi'
CUDA support enabled...
make[1]: Entering directory `/the/path/to/PWMLFF-2024.5/lammps-2024.5/src/Obj_mpi'
mpicxx -g -O3 -std=c++17 -L/the/path/to/PWMLFF-2024.5/pwmlff-2024.5/lib -lpython3.11 -static-libstdc++ -static-libgcc -L/the/path/to/PWMLFF-2024.5/pwmlff-2024.5/lib/python3.11/site-packages/torch/lib/ -ltorch -lc10 -ltorch_cpu -L/the/path/to/PWMLFF-2024.5/lammps-2024.5/src/Obj_mpi/.. -lnep_gpu -L/share/app/cuda/cuda-11.8/lib64 -lcudart -L/the/path/to/PWMLFF-2024.5/PWMLFF/src/op/build/lib -lCalcOps_bind -L/share/app/cuda/cuda-11.8/lib64 -lcudart main.o -L. -llammps_mpi -ldl -o ../lmp_mpi_gpu
size ../lmp_mpi_gpu
text data bss dec hex filename
11936348 37912 22640 11996900 b70ee4 ../lmp_mpi_gpu
make[1]: Leaving directory `/the/path/to/PWMLFF-2024.5/lammps-2024.5/src/Obj_mpi'
Added Lammps PATH to .bashrc
Added Lammps LD_LIBRARY_PATH to .bashrc
Added torch lib LD_LIBRARY_PATH to .bashrc
Installation completed successfully!
安装完成之后,会默认将 PWMLFF-2024.5 环境变量(如下所示)写入 .bashrc 中,如果不需要,请您手动到.bashrc中删除即可。删除后,需要您在每次运行 PWMLFF 前手动导入该环境变量。
# PWMLFF 环境变量
export PATH=/the/path/to/PWMLFF-2024.5/PWMLFF/src/bin:$PATH
export PYTHONPATH=/the/path/to/PWMLFF-2024.5/PWMLFF/src/:$PYTHONPATH
# lammps 接口环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(python3 -c "import torch; print(torch.__path__[0])")/lib:$(dirname $(dirname $(which python3)))/lib:$(dirname $(dirname $(which PWMLFF)))/op/build/lib
export PATH=/the/path/to/PWMLFF-2024.5/lammps-2024.5/src:$PATH
export LD_LIBRARY_PATH=/the/path/to/PWMLFF-2024.5/lammps-2024.5/src:$LD_LIBRARY_PATH
这里 /the/path/to/
为您自己的安装目录。
5. 加载使用
离线包安装成功后,在使用时需要首先激活已安装的conda环境,以及编译时使用的 intel/2020 和 CUDA。之后,如果需要使用 PWMLFF 训练,则加载 PWMLFF 环境变量;如果需要使用 Lammps 接口,则在加 载 PWMLFF 环境变量之后继续加载 Lammps 接口环境变量。
step1. 激活已安装的conda环境
# 这里环境地址需要完整的路径,例如/data/home/wuxingxing/pack/PWMLFF-2024.5/pwmlff/bin/activate
source /the/path/PWMLFF-2024.5/pwmlff-2024.5/bin/activate