使用LAMMPS软件进行高性能计算

本文以LAMMPS软件为例介绍如何在E-HPC上进行高性能计算。

背景信息

LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)是一款经典分子动力学软件。 LAMMPS包含的势函数可用于固体材料(金属、半导体)、软物质(生物大分子,聚合物)、粗粒化或介观尺度模型体系。

准备工作

测试前您需要在本地准备好算例文件。本文示例中,准备了名为lj.in的算例文件,文件中包含了LAMMPS的参数,如下所示。实际测试中,您可以根据自己的情况准备算例文件。

# 3d Lennard-Jones melt

variable        x index 1
variable        y index 1
variable        z index 1

variable        xx equal 20*$x
variable        yy equal 20*$y
variable        zz equal 20*$z

units           lj
atom_style      atomic

lattice         fcc 0.8442
region          box block 0 ${xx} 0 ${yy} 0 ${zz}
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 0 every 20 check no

fix             1 all nve
dump 1 all xyz 100 /home/lammps/sample.xyz
run             10000

操作步骤

  1. 登录弹性高性能计算控制台

  2. 创建一个名为LAMMPS的集群。

    具体操作,请参见创建集群。您需要注意以下配置参数:

    • 计算节点:选择vCPU≥32的节点,如ecs.c7.8xlarge。

    • 调度器:pbs

    • 其他软件:选中lammps-mpich 31Mar17、lammps-openmpi 31Mar17、mpich 3.2、openmpi 1.10.7、vmd 1.9.3软件。

    说明

    如果您已创建好集群,安装上述软件也可以完成本测试任务。具体操作,请参见安装软件

    lammps
  3. 创建一个名为lammps的sudo用户。

    具体操作,请参见创建用户

  4. 上传作业文件。

    1. 在左侧导航栏,单击作业

    2. 集群列表中选择目标集群,单击创建作业

    3. 创建作业页面,选择新建文件 > 打开本地文件

    4. 在本地找到并单击lj.in文件,单击打开

  5. 创建作业脚本并提交作业。

    1. 创建作业页面,选择新建文件 > 使用文件模板 > pbs demo

    2. 按下图完成作业配置,单击确认提交作业。

      job

      作业文件配置如下:

      #!/bin/sh
      #PBS -l select=1:ncpus=32:mpiprocs=32
      #本示例使用1个计算节点的32 vCPU,使用32个MPI任务进行高性能计算。实际测试中根据节点配置设置CPU个数。算力要求vCPU≥32。
      
      #PBS -j oe
      
      export MODULEPATH=/opt/ehpcmodulefiles/   #module命令依赖的环境变量
      module load lammps-openmpi/31Mar17
      module load openmpi/1.10.7
      
      echo "run at the beginning"
      mpirun lmp -in ./lj.in
  6. 查看作业结果。

    1. 集群页面,找到LAMMPS集群,单击远程连接

    2. 远程连接页面,输入用户名lammps、登录密码和登录节点端口,单击ssh连接

    3. 执行如下命令,查看LAMMPS作业结果文件。

      [lammps@login0 ~]$ ls
      lammps.o0  lammps.pbs  lj.in  log.lammps  sample.xyz
      [lammps@login0 ~]$ cat lammps.o0
      说明

      如果您不指定作业标准输出路径,则默认按照调度器行为生成输出文件。默认输出/home/lammps/目录下的作业结果文件,如本示例中的lammps.o0。

      本次测试结果如下图所示:

      result