基于自编译镜像运行 LAMMPS 计算
本文旨在为用户介绍如何使用智算平台编译自己的镜像后运行 LAMMPS 计算。
前提条件
-
已经获取控制台账户和密码。
-
已完成实名认证且账户余额大于 0 元。
-
平台已创建有可用的用户目录。
操作步骤
创建容器实例编译并保存镜像
-
登录控制台,默认进入 AI 计算平台。
-
在左侧导航栏中,选择容器实例,进入容器实例页面,点击创建容器实例。
-
在创建容器实例中,根据如下要求配置各项参数,点击创建。
-
镜像
:选择应用镜像中的oneapi
,并选定hpc1-dockerhub.coreshub.cn/public/public/oneapi:2024
。 -
其他参数,根据实际情况进行设定即可。
-
-
等待容器实例创建完成,且状态为
运行中
,点击该实例的更多访问 > web 连接。 -
在 web 连接窗口中,输入如下命令,克隆 Lammps 源代码至容器实例。
git clone https://github.com/lammps/lammps.git
-
依次执行如下操作,使用 MPI 进行编译。
-
进入
/lammps/src
目录。cd /lammps/src
-
执行如下命令,进行编译,并等待编译完成。
make mpi
-
-
执行如下命令,将可执行
lmp_mpi
文件移动至/usr/bin
目录下。scp lmp_mpi /usr/bin
说明 -
若有其他需要计算使用的文件也可以拷贝到
/usr/bin
目录中。 -
如需变动的或者超大的计算文件,可在之后放到文件存储中。
-
-
关闭 web 连接窗口,返回容器实例列表页面,点击目标实例操作列中的保存镜像。
-
在弹出的保存镜像窗口中,配置镜像仓库和标签,点击确定即可。
-
镜像仓库
:-
若已有镜像仓库,则直接选平台内可用的仓库即可。
-
若无可用仓库,则需点新建镜像仓库,输入镜像仓库名称即可。
-
-
标签
:针对当前镜像的标签,用户自定义即可。
-
-
在左侧导航栏中,点击镜像仓库,选择自定义镜像仓库,可查看到上一步保存的镜像已显示在列。
利用自定义镜像进行 LAMMPS 运算
-
延续上述步骤,在左侧导航栏,点击存储与数据服务,将 in.lj 文件上传到平台上已有的文件存储 EPFS中。
in.lj 文件内容如下,用户可自行创建后上传至存储服务,或点击此处下载完整文件。
# 3d Lennard-Jones melt units lj atom_style atomic lattice fcc 0.8442 region box block 0 80 0 160 0 160 create_box 1 box create_atoms 1 box mass 1 1.0 velocity all create 1.44 87287 loop geom pair_style lj/cut 2.5 pair_coeff 1 1 1.0 1.0 2.5 neighbor 0.3 bin neigh_modify delay 5 every 1 fix 1 all nve run 100
-
在左侧导航栏中,选择分布式任务,进入任务列表页面,点击创建训练任务。
-
在创建训练任务页面中,根据如下要求配置各项参数,点击确定。
-
框架
:选择Mpi
。 -
镜像
:选择自定义镜像,并选定前文编译并保存好的镜像文件。 -
存储与数据
:选择上传有 in.lj 文件的用户目录即可。 -
启动命令
:本实践中的启动命令为:mpirun lmp_mpi -in /root/epfs/in.lj
。注意 本实践中直接将
in.lj
文件上传至文件存储的根目录中,故此处文件所在路径为/root/epfs/in.lj
。若用户上传至了其他文件夹中,则需根据实际情况进行修改。 -
计算资源
:若选择 CPU 计算,则需 2 个节点,其他资源类型一个节点即可。本实践中选择CPU
计算,节点数量为2
。 -
其他参数,根据实际情况进行设定或保持默认即可。
-
-
等待训练任务完成,且状态为
已完成
,点击任务名称/ID,进入训练任务详情页面。 -
在训练任务详情页面,选择容器组页签,可查看到一个 launcher 节点和若干个 worker 节点。
说明 创建训练任务时选定的节点数量,即为当前 worker 的节点数。
-
在详情页面,选择日志页签,即可查看运行结果。