Deepmd是一款高效的神经网络势函数训练软件,只需要有一些Linux和基本的lammps分子动力学基础的使用者即可上手。Deepmd具有很好的lammps接口。但是对于初学者而言,deepmd-lammps编译不是一件容易的事,编译过程中的坑非常非常多。即便deepmd官网上手册中有打包好conda包,但由于不同的编译环境,编译出来的结果有可能是报错的。除此之外,官网的一键安装包在编译过程中没有采用intel的加速功能,实际测试与本方法相比速度慢了大约1倍左右(原因是因为lammps官网有个加速的包需要手动make)。因此建议自己编译,实现最大程度的加速效果。笔者在编译以及调试deepmd-lammps大概花费了一周左右,写本文的目的是记录在编译过程的各种报错以及相应的通用解决办法,为后续deepmd-lammps的使用者在编译上提供一定的便利。本笔记根据官网编译源码手段编译,并详细记录了编译过程中的各种坑。在编译过程中,非常感谢Sustech 科学计算中心高级计算工程师Yusen Yang,Hong Tang,Zhuo Chou,湖南大学硕士生Jian He,以及美国罗格斯大学Jinze Zeng博士在编译过程中提供的帮助。本人水平有限,如有槽点,还请轻喷。
2021年4月22日
Jia'ao WANG
废话不多说,直接贴编译方法。(南方科大太乙集群修改路径后直接可以运行以下代码,速度比直接使用deepmd官网一键安装包的速度快大概1倍)
module load python/anaconda3/2020.7
module load python/3.7.0
conda create python=3.7 -n dpdev -y
conda activate dpdev
module load python/anaconda3/2020.7
module load python/3.7.0
module add cuda/10.2
module add cmake/3.12.2
module load cmake/3.12.2
module load git/2.18.0
cd ~
mkdir software
cd ~/software
wget https://github.com/bazelbuild/bazel/releases/download/0.25.1/bazel-0.25.1-installer-linux-x86_64.sh
chmod +x bazel-0.25.1-installer-linux-x86_64.sh
./bazel-0.25.1-installer-linux-x86_64.sh --user
export PATH="$HOME/bin:$PATH"
git clone https://github.com/tensorflow/tensorflow -b v2.0.0 --depth=1 !!!(这里要改成2.4版本)
cd tensorflow
./configurebazel build -c opt --verbose_failures //tensorflow:libtensorflow_cc.so
cd ..
mkdir tensorflowc++
cd tensorflowc++
export tensorflow_root=`pwd`cd /work/para-test/software/tensorflow
mkdir -p $tensorflow_root
mkdir $tensorflow_root/lib
cp -d bazel-bin/tensorflow/libtensorflow_cc.so* $tensorflow_root/lib/
cp -d bazel-bin/tensorflow/libtensorflow_framework.so* $tensorflow_root/lib/cd ..
chmod -R +w ./tensorflowc++/
cd tensorflowmkdir -p $tensorflow_root/lib/
cp -d bazel-bin/tensorflow/libtensorflow_cc.so* $tensorflow_root/lib/
cp -d bazel-bin/tensorflow/libtensorflow_framework.so* $tensorflow_root/lib/cp -d $tensorflow_root/lib/libtensorflow_framework.so.2 $tensorflow_root/lib/libtensorflow_framework.so
mkdir -p $tensorflow_root/include/tensorflow
rsync -avzh --