高性能计算服务
>
软件使用案例
>
科学计算
>
Lammps
本文主要介绍如何在超算互联网商城使用Lammps软件。
在商城首页输入软件名搜索软件,点击需要使用的软件卡片进入软件商品界面,选择软件版本以及资源配置区域,阅读并同意《服务协议》,点击“立即使用”等待配置完成可以使用该软件;已经使用过的软件会在规格的右上角有一个绿色的“已使用”标识,点击“去使用”可直接使用该软件。
已经使用过的软件亦可以选择其他可用区域开通软件,或点击“已开通”后面的提交作业方式直接使用。
点击“命令行”图标后进入eshell界面,从商城的“命令行”进入终端,终端会显示商品自带的软件应用版本、环境变量和启动路径信息。由启动路径可以得到软件部署的位置。(注:实际使用中请根据下方红框内提供的算例示例进入对应路径。)
本产品软件安装目录为 ~/apprepo/lammps/2Aug2023-intelmpi2018,包含app(除快速安装软件外)、case、install.log、scripts四个子目录,其中app包含应用软件主体和依赖库;case包含相关运行算例、作业日志、作业提交脚本等信息;install.log为LAMMPS安装日志,scripts为软件环境变量。目录结构如下:
.
├── app # 应用软件主体和依赖库
│ ├── . . .
├── case # 可运行算例、脚本
│ ├── lammps.slurm # slurm脚本文件
│ ├── slurm-7016471.out # 运行日志
│ └── . . .
├── install.log # QE安装日志
└── scripts # 应用环境变量
├── env.sh
└── lammps-2Aug2023-intelmpi2018
资源调用逻辑如下:用户在登录节点执行脚本,脚本将自动申请计算资源,并在该计算资源上运行计算指令,并将计算结果实时同步到当前目录下。
我们已经为您提供完整的使用脚本:
(1)执行cd ~/apprepo/lammps/2Aug2023-intelmpi2018进入软件部署目录,在目录下的case文件夹中有软件对应的提交脚本。
(2)输入whichpartition可以查询可用队列,复制选中合适的队列名称,这里选择了“xahcnormal”,并打开脚本lammps.slurm进行脚本文件的修改。
(3)替换脚本lammps.slurm中的队列名称为复制好的队列名称,并根据自己的需求更改脚本的配置信息。
(4)如果您需要进行其他修改可参考如下命令:
参数 | 含义 |
---|---|
-J abinit | 指定作业名为abinit |
-p kshctest | 指定使用队列为kshctest |
-N 2 | 申请两个计算节点 |
--ntasks-per-node=32 | 每个节点使用32核 |
module purge | 清理当前环境,避免环境冲突 |
module load compiler/intel/2017.5.239 | 加载使用的软件以及编译软件使用的环境 |
module load mpi/hpcx/2.4.1/intel-2017.5.239 | 加载使用的软件以及编译软件使用的环境 |
module load apps/abinit/8.10.3/hpcx-2.4.1-intel2017 | 加载使用的软件以及编译软件使用的环境 |
注意:
(1)确认环境变量、修改好脚本后保存退出,使用sbatch lammps.slurm提交作业,并通过squeue查看作业的运行状态。
(2)任务完成后作业会自动结束,并在当前目录生成日志文件slurm-作业号.out或使用tail -f slurm-作业号.out实时查看。
(3)打开slurm-11398982.out查看作业的日志输出以及检查是否正常结束。
(4)另外可参考如下常用指令进行作业管理:
命令 | 含义 | 简单示例 |
---|---|---|
sbatch | 批量提交作业命令,后面跟脚本文件 | sbatch xxx.sh |
squeue | 查看目前提交作业的信息 | squeue(可显示作业号、作业状态等) |
salloc | 占用空闲计算资源命令 | salloc -p kshctest -N 1 -n 32 |
scontrol | 查看正在计算作业信息 | scontrol show job jobid |
scancel | 取消作业 | scancel jobid |
sacct | 查看历史作业 | sacct -j jobid -X -o elapsed,state,nodelist |
注意:请不要在登录节点(login)上直接运行作业计算(编译等日常操作除外),以免影响您的作业正常运行。
(1)报错:Pair hybrid sub-style is not used 解决思路:这是因为pair_style设置了多个混合势函数,但是pair_coeff中漏掉某个势函数的参数,需要自行添加pair_coeff。如:>>>pair_coeff * * tersoff SiC.tersoff Si C。
(2)重启续算报错:ERROR: Invalid flag in header section of restart file
解决思路:对比续算前后是否版本一致,需要保持版本一致。
(3)lammps报错:Neighbor list overflow, boost neigh_modify one,本地电脑可以计算,集群不可以
解决思路:可尝试降低版本(如lammps23 Oct 2017),或者保持和本地一致的版本。
(4)lammps-reaxff报错:hbondchk failed: H=0 end(H)=6400 str(H+1)=25 解决思路:这通常是由于当前步长下需要计算的原子超出了容量,有以下解决经验:1)尝试使用omp包,mpirun -np 8 lmp_mpi -sf omp -pk omp 8 -i in.lmp;2)修改in.lmp,加入reax参数safezone和mincap,pair_style后面加上safezone 1.2 mincap 50。