跳到主要内容

DeePMD-kit

本文介绍如何在 Bohrium 上运行 DeePMD-kit 任务。

推荐

Bohrium 帮助文档|DeePMD-kit」是 Notebook 版帮助文档,可直接运行,请点击查看。

简介

DeePMD-kit:是一款基于神经网络拟合第一性原理数据得到势能模型,用于分子动力学模拟的软件。无需人工干预,其可以端对端地将用户提供的数据在数个小时内转化为深度势能模型,该模型可以与常见分子动力学模拟软件( LAMMPS,OpenMM 和 GROMACS 等)无缝衔接。DeePMD-kit 可以保持量子力学精度准确性的基础上,将分子动力学的计算速度提升数个量级。已被国内外物理、化学、材料、生物等方向上千课题组使用。

本文以 DeePMD-kit 2.1.5 与 LAMMPS 的搭配使用为例进行介绍。DeePMD-kit 的 LAMMPS 分为三部分:第一部分构建邻居表,该部分已经 GPU 化;第二部分是调用 DP 模型算力场,这一部分同样在 GPU 上进行,第三部分是根据牛顿第二定律跑 MD ,这一部分在 CPU 上运行。本例使用的软件 registry.dp.tech/dptech/deepmd-kit:2.1.5-cuda11.6 预装了 DeePMD-kit 2.1.5 和 LAMMPS 且支持 PLUMED。

如何在 Bohrium 上运行 DeePMD-kit 任务

本案例任务运行约需 10 min

步骤一,准备输入数据

首先需要开启管理节点,本案例中镜像选择 ubuntu:20.04-py37。通过 Web Shell 连接管理节点后即可进行输入文件的准备。

DeePMD-kit 的输入文件均已存储至 Bohrium_DeePMD-kit_example 文件夹内,使用 cd /perosnal 命令进入数据盘后,依次执行以下命令来进行输入文件的下载和解压:

wget https://bohrium-example.oss-cn-zhangjiakou.aliyuncs.com/Bohrium_DeePMD-kit_example.zip
unzip Bohrium_DeePMD-kit_example.zip
cd Bohrium_DeePMD-kit_example

步骤二,准备配置文件

文件夹内已经包含配置文件 job.json,在 文件管理 页面,您可以双击左侧文件树中的 job.json 文件,在线编辑和保存,也可以在命令行窗口中进行编辑:

vi job.json

输入 i 进入编辑模式,完成修改后,按 esc 退出编辑模式后输入 : 进入末行命令符模式,然后输入 wq 保存并退出,配置文件内容如下:

注意:所有 "project_id": 后的 0000 均需替换为您自己的项目 ID ,可在“项目管理”页查看。json 文件的格式要求 {} 内最后一个字段后不要添加逗号,否则会有语法错误。

{
"job_name": "DeePMD-kit test",
"command": " cd se_e2_a && dp train input.json > tmp_log 2>&1 && dp freeze -o graph.pb",
"log_file": "se_e2_a/tmp_log",
"backward_files": ["se_e2_a/lcurve.out","se_e2_a/graph.pb"],
"project_id": 0000,
"platform": "ali",
"machine_type": "c4_m15_1 * NVIDIA T4",
"job_type": "container",
"image_address": "registry.dp.tech/dptech/deepmd-kit:2.1.5-cuda11.6"
}

步骤三:提交任务

使用 Bohrium CLI 提交任务:

因此首先需要安装Bohrium CLI

bohr job submit -i job.json -p ./

其中:

  • -i 指定任务的配置文件,本案例中是 job.json
  • -p 指定输入文件所在的目录,Bohrium 会将指定的目录打包上传,在计算节点上解压后,将工作目录切换为该目录。本案例中是 ./

在命令行看到如下输出即表示提交成功。同时可以看到任务的 JOB ID,后续可用此 ID 追踪任务进度。

Submit job succeed. 
JobId: <JOB ID>
JobGroupId: <JOB GROUP ID>

查看任务

您可以在监控任务文档中了解如何在 Bohrium 平台查看任务状态。

下载结果

您可以在结果下载文档中了解如何在 Bohrium 平台下载任务结果。