这是本文档旧的修订版!
PWstudio 在命令行提交
本篇适合已经比较熟悉命令行操作、想直接用 slurm 提交计算作业的用户;如果你更习惯用网页上的 Qflow 工作流拖拽界面来提交任务,可以不用看本篇,直接用浏览器操作即可。
1. 登录终端
通过 ssh 终端 (常见的有 xshell, mobaxterm) 登录到容器里, 用 pwmat 登录容器。如果你还不熟悉怎么用这类工具登录、以及怎么上传下载文件,可以先看这份新手教程:MobaXterm 新手教程。
2. 计算案例example01
(1)准备输入文件
* 结构文件 atom.config
atom.config 结构文件是PWmat软件支持的标准结构输入格式,可以通过Q-Studio建模工具构建模型并导出。登录Q-Studio,用 pwmat 登录容器
2
LATTICE
0.00000000 2.71535000 2.71535000
2.71535000 0.00000000 2.71535000
2.71535000 2.71535000 0.00000000
POSITION
14 0.00000000 0.00000000 0.00000000 0 0 0
14 0.25000000 0.25000000 0.25000000 0 0 0
* 参数文件 etot.input
除指定输入文件的名称外,不区分大小写;除首行外,其他行不区分顺序。阅读参数手册,https://www.pwmat.com/pwmat-resource/Manual.pdf
1 1 JOB = SCF IN.PSP1 = Si.SG15.PBE.UPF IN.ATOM = atom.config MP_N123 = 9 9 9 0 0 0
* 赝势文件 *UPF
拷贝结构文件中各元素对应的赝势文件,推荐采用SG15模守恒赝势。赝势包可在PWmat的官网https://www.pwmat.com/potential-download 下载
* 脚本文件 slurm.sh
运行PWmat时,需要在PWmat后面加上-host参数,并在-host参数后加上config.json文件中的“IP”和“PORT”值;
通过nvidia-smi命令查看机器上的GPU卡数来配置计算资源
#!/bin/sh #SBATCH --partition=gpu #SBATCH --job-name=tutorial_scf #SBATCH --nodes=1 #SBATCH --ntasks-per-node=1 #SBATCH --gres=gpu:1 #SBATCH --gpus-per-task=1 module load mkl mpi module load cuda/12.1 module load pwmat/20260428 which PWmat mpirun -np $SLURM_NPROCS PWmat -host 172.17.0.1 50001 | tee output
以上四个文件(atom.config、etot.input、赝势文件、slurm.sh)准备好之后,建议放在同一个目录下,方便下一步提交。
(2) 提交计算
在准备好上面四个文件的目录下,执行:
sbatch slurm.sh
执行后一般会提示类似 “Submitted batch job 123” 的信息,其中的数字就是本次提交的任务号,记下来方便后面查看状态和结果。
(3)查看计算状态
squeue
这条命令会列出当前排队和正在运行的任务列表,能在里面看到刚才提交的任务号,ST 列的状态如果是 R 表示正在运行,PD 表示排队等待中;如果任务已经跑完了,这里就不会再显示这条任务了。
(4)查看计算结果
输出文件含义查阅手册:https://www.pwmat.com/pwmat-resource/Manual.pdf
后处理命令及使用方法:https://www.pwmat.com/utility-download
* 查看版本号和计算报错信息,可通过slurm_任务号.out文件查看(把“任务号”替换成第 (2) 步提交后拿到的实际数字,比如任务号是 123,文件名就是 slurm_123.out)
3. 更多计算教程
(1)基础计算入门PPT教程:https://www.pwmat.com/Tutorials
(2)常用参数详解:http://modulefiles.pwmat.com/#/
(3)视频教程:https://space.bilibili.com/1965576887
(4)高级模块性质计算教程:https://www.pwmat.com/module-download
