跳转至

8.4 重启与高性能计算:扩展性能,同时保留正确性

这些输入和起始模型为未执行的教学示例。原创配图为示意图,不是计算结果。使用前请验证版本相关语法、授权数据、数值收敛及科学模型。

8.4.1 模型、单位与来源记录

PW 截断能与能量使用 Ry,常见力输出使用 Ry/bohr,压力使用 kbar。几何卡片须明确坐标单位。不同程序具有不同输入语法与时间单位约定。

共享输入、约定与证据

原创示意图:重启与高性能计算:扩展性能,同时保留正确性。不声称已有数值计算结果。
原创示意图:重启与高性能计算:扩展性能,同时保留正确性。不声称已有数值计算结果。

8.4.2 未执行输入与明确修改片段

按照下方说明确认每个片段的母计算与替换位置;片段不自动构成独立输入。保留空行与文件来源要求。

8.4.2.1 输入块 1

! Initial run, with enough margin before the scheduler kills it:
&CONTROL
 calculation='scf', prefix='si_restart', outdir='./scratch/si_restart',
 pseudo_dir='./pseudo', restart_mode='from_scratch', max_seconds=120.0
/
! Use the remaining validated Si-base input unchanged.
! Continuation: same physical input, prefix/outdir and compatible layout;
! change restart_mode='restart', with a suitable larger time budget.

8.4.2.2 输入块 2

# Illustrative launch patterns; use the cluster's supported launcher.
export OMP_NUM_THREADS=1
mpirun -np 8 pw.x -nk 2 -in inputs/si.restart.in > outputs/si.restart.out
# Validate the rank/pool choice against the actual k-point count and build.

8.4.3 实作研究

8.4.3.1 原理与准备

生产计算中最昂贵的失败之一,是任务看似可以重启,所需文件却没有保存或已经被覆盖。并行加速只有在相同科学问题到达相同收敛态时才有价值。先用适中且收敛的 Si 或 Al 任务,不要在不同机器测试不同网格。了解调度器墙钟限制,以及每个进程都可访问的文件系统。

8.4.3.2 原创受控重启方案

参见上方输入块 1。

在可丢弃小任务上先验证有序停止和续算,再信任长任务。PW 的 max_seconds 不能替代调度器余量,停止与写盘需要时间。续算被中断任务,与从已有密度初始化一个新 SCF,是不同工作流。应保存数据结构、密度、必要波函数及分布式文件;通常只复制 XML 不够。

8.4.3.3 扩展、检查与练习

用少量合理 MPI/线程/池组合测试固定工作量,记录时间、可获得的峰值内存、SCF 步数、通信/读写耗时和最终能量。增加池可能降低内存或利用 k 并行,但 k 点不足时会失效。Γ 点分子不应被假设与密网格金属具有相同扩展特性。大量波函数写盘前检查配额,清理临时目录前先归档最小可复现包。

练习:比较连续运行与重启运行,再在独立测试副本中故意遗漏一个保存组件,学习识别错误而不破坏原始文件。建立提交清单,包括所需文件、预计存储、停止余量和成功判据。若迭代步数不同,需要解释时间比较;放松收敛带来的提速不是并行加速。

8.4.4 相关计算

8.4.5 来源与进一步阅读