QE专题

QE入门与任务提交

Si完整pw.x输入、精确模块、单卡提交和输出单位,区分不同子程序。

更新于 2026-10-28约 4 分钟阅读按任务与环境选择适用配置
阅读本篇目录

下载完整输入、赝势、真实结果和绘图脚本。解压后,inputs/是可修改输入,reference/是本次真实参考输出,复跑结果写入 work/。下面的计算命令在已分配的相应资源内运行。

1 选择程序与构建#

Quantum ESPRESSO不是一个单独命令:pw.x计算平面波基态、优化和Born–Oppenheimer动力学;ph.x做DFPT;bands.x/dos.x/projwfc.x/pp.x提取电子数据;q2r.x/matdyn.x连接动力学矩阵、力常数和声子;neb.x做反应路径;cp.x做Car–Parrinello动力学。不同子程序的输入和适用构建要分别核对。

本专题使用7.6。CPU的pw.x/ph.x/后处理采用oneAPI2024.2的icx/mpiifx、IntelMPI/MKL和OpenMP构建;P100采用NVHPC25.3、配套HPC-X、CUDA12.8与MKL。模块负责加载依赖,不叠加另一套MPI。

module load qe/7.6-8173m
which pw.x
which ph.x
which projwfc.x

CP流程指定使用NVHPC/P100构建;当前CPU构建的cp.x存在数值兼容问题,CP部分请按动力学教程的P100模板运行。这里不把同一版本号理解为所有构建和子程序可互换。

2 第一个Si原胞#

cat inputs/si-cutoff-60/pw.in
bash run.sh si-cutoff-60
grep "!.*total energy" work/si-cutoff-60/pw.in.out
grep "JOB DONE" work/si-cutoff-60/pw.in.out
&CONTROL
 calculation='scf', prefix='si', pseudo_dir='../pseudo', outdir='./tmp',
 tprnfor=.true., tstress=.true., verbosity='high',
 etot_conv_thr=1d-6, forc_conv_thr=0.0007779, nstep=80
/
&SYSTEM ibrav=0, nat=2, ntyp=1, ecutwfc=60, ecutrho=240, nbnd=12 /
&ELECTRONS conv_thr=1d-8, mixing_beta=0.5, electron_maxstep=150 /
ATOMIC_SPECIES
Si 28.0855 Si_ONCV_PBE-1.0.upf
CELL_PARAMETERS angstrom
0 2.715 2.715
2.715 0 2.715
2.715 2.715 0
ATOMIC_POSITIONS crystal
Si 0 0 0
Si .25 .25 .25
K_POINTS automatic
4 4 4 0 0 0

这是2原子的金刚石Si原胞,晶胞矢量单位Å、位置为分数坐标。ecutwfc=60 Ry,ecutrho=240 Ry,电子总能收敛参数conv_thr=1E-8 Ry;例子使用Gamma中心4×4×4网格,后文会显示它还不足以当作最终k点精度。nbnd=12包含4条占据带及空带。

PP文件保留原始生成信息与引用。赝势和泛函、元素、价电子数必须一致,不能仅根据文件名相似替换。正式对比总能时保持同一赝势与计算设置。

本专题真实输入的Si原胞、扰动Si8和闪锌矿GaN

3 提交P100单卡任务#

sbatch gpu.sbatch si-cutoff-60
squeue -u "$USER"
grep "GPU acceleration" work/si-cutoff-60/pw.in.out
grep "!.*total energy" work/si-cutoff-60/pw.in.out

模板申请1卡、1个MPI进程、2个CPU核心,通过mpirun启动;GPU初始化和MPI启动都需使用对应模块。8个Si条件分别在两台P100节点与CPU参考核对,程序输出确认GPU加速实际启用。能量差以输出精度为限,不把这些短单点计时当作材料通用加速比。

核时P100使用包内gpu-8p100-hs;套餐用户将partition改为账号允许的P100套餐分区。CPU计算在CPU资源可用时提交匹配模板,正式计算不在登录终端直接长时间运行。小规模操作与正式生产资源要求分开。

4 读输出时先看这几项#

grep "number of electrons" work/si-cutoff-60/pw.in.out
grep "convergence has been achieved" work/si-cutoff-60/pw.in.out
grep "Total force" work/si-cutoff-60/pw.in.out
grep -A4 "total.*stress" work/si-cutoff-60/pw.in.out

总能是Ry,原子力通常是Ry/Bohr,压力输出为kbar;1 Ry≈13.605693 eV,1 Bohr≈0.529177 Å,1 kbar=0.1 GPa。JOB DONE只说明程序走到结束,还要检查电子收敛、原子力及所需输出是否齐全。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗