跳到主要内容

ABACUS

本文介绍如何在 Bohrium上 运行 ABACUS 任务。

推荐

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

简介

ABACUS 密度泛函理论软件是由何力新教授、任新国研究员和陈默涵研究员主导开发的,拥有完全自主知识产权的一款国产开源的密度泛函理论软件。ABACUS 可采用平面波基矢量和数值原子轨道基矢量来进行模拟计算,通过求解 Kohn-Sham 方程得到材料基态电荷密度分布,并由此计算目标材料的各项物理性质。目前,ABACUS 正在发展基于机器学习辅助的泛函模型 DeePKS,为实现跨尺度的分子动力学模拟提供了强有力的基石。此外,软件研发团队还在发展适用于多场景的密度泛函理论(如适用于大尺度计算的无轨道密度泛函理论和适用于高温高压条件的随机波函数密度泛函理论)。

代码仓库

软件文档

如何在 Bohrium 上运行 ABACUS 任务

本案例任务运行约需 40s

步骤一,准备输入数据

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

ABACUS 的输入文件(如输入参数、赝势文件、配置文件等)均已存储至 Bohrium_ABACUS_example 文件夹内,使用 cd /data 命令进入数据盘后,依次执行以下命令来进行输入文件的下载和解压:

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

步骤二,准备配置文件

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

vi job.json

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

注意"project_id":后的 0000 需要替换为您自己的项目ID,可在“项目管理”页查看。建议将 MPI 进程数设置为 CPU 核心数 / 2,如本例选用的机型为 16 核 32G 内存的 CPU 机器,则使用 mpirun -np 8 来提交作业。

{
"job_name": "ABACUS test",
"command": "OMP_NUM_THREADS=1 mpirun -np 8 abacus > log",
"log_file": "log",
"backward_files": [],
"project_id": 0000,
"platform": "ali",
"job_type": "container",
"machine_type": "c16_m32_cpu",
"image_address": "registry.dp.tech/dptech/abacus:3.0.0"
}

步骤三,提交任务

使用 Lebesgue Utility 提交任务:

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

其中:

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

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

Submit job succeed. JOB GROUP ID: <JOB GROUP ID>, JOB ID: <JOB ID>

查看任务

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

下载结果

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