Gaussian Link0资源与文件设置
完整列出20种Link0书写形式,区分共享线程、内存、检查点、scratch及专用并行前提。
阅读本篇目录
1. 本批最简单的资源设置#
%nprocshared=1
%mem=1GB
%chk=result.chk
#p RHF/STO-3G SCF=Tight NoSymm
Small actual Gaussian keyword-family example
0 1
H 0.000000000000 0.000000000000 0.000000000000
H 0.000000000000 0.000000000000 0.740000000000
%NProcShared=1请求Gaussian使用1个线程,%Mem=1GB是主机内存,不是显存。二者不会替代Slurm的CPU/内存申请。多个例子各有自己的目录、检查点和scratch,不共用result.chk。
yskit gaussian-init
cat input.gjf
初始化完成后,先按集群提交示例申请资源;在作业内运行:
mkdir -p scratch
export GAUSS_SCRDIR="$PWD/scratch"
g16 < input.gjf > output.log
tail -n 1 output.log
formchk result.chk result.fchk
GAUSS_SCRDIR属于自己的工作目录。不要把不同任务的scratch合并,也不要在仍运行时删除工作文件。
2. 续算时区分新旧检查点#
%OldChk=previous.chk
%Chk=continued.chk
%NProcShared=1
%Mem=1GB
#p RHF/STO-3G Geom=AllCheck Guess=Read
这是从已有匹配检查点读取几何、电荷、多重度和轨道猜测的输入形态,Geom=AllCheck后不再重复标题/坐标段;具体原生续算实例见检查点教程。若改变电荷、多重度、基组或方法,须再按对应读取规则准备,而不是只换文件名。
3. Link0目录的20种书写形式#
包括RWF的单位置与分段两种形式。只列使用目的与前提;没有把所有磁盘控制、Linda、GPU或开发替换选项都当成当前CPU资料包的实跑输入。
| 形式 | 用途与前提 |
|---|---|
%Mem=N |
主机内存预算;示例1GB。Slurm申请须另留程序与环境开销。 |
%Chk=file |
本次检查点;每个独立例子使用自己的目录和result.chk。 |
%OldChk=file |
读取旧检查点作为新任务起点;通常再设置新%Chk避免覆盖。 |
%SChk=file |
在作业步骤开始时保存检查点副本;常规续算也可用%OldChk配合新的%Chk。 |
%RWF=file |
读写工作文件路径;占用可能远大于检查点,只放自己的scratch。 |
%RWF=loc1,size1,loc2,size2, … |
RWF分段位置与容量;各路径必须在实际计算节点可写且空间足够。 |
%OldMatrix=matfile |
使用已有矩阵资料的专门流程,须有匹配的矩阵格式和生成步骤。 |
%OldRawMatrix=matfile |
使用已有原始矩阵资料;不能把CHK/FCHK任意改扩展名代替。 |
%Int=spec |
两电子积分临时文件相关设置;遵循该算法的磁盘需求。 |
%D2E=spec |
两电子积分导数文件相关设置,仅在对应任务需要时配置。 |
%KJob LN [M] |
在指定Link位置终止的专门控制,不是正常续算的通用输入。 |
%Save |
保留工作文件会增加磁盘占用;任务后自行清理有价值的个人文件。 |
%ErrorSave |
异常时工作文件保留控制,不代表程序能自动恢复或结果有效。 |
%Subst LN dir |
替换指定Link程序,涉及开发/专用构建;普通客户不要指向他人的二进制。 |
%CPU=proc-list |
进程绑定相关设置,必须落在Slurm分配的CPU集合内;不能据此获得额外核心。 |
%NProcShared=N |
共享内存线程数;本批1,与申请的CPU相符。 |
%GPUCPU=gpu-list=core-list |
需要支持该路径的程序、方法、GPU与CPU映射;本批CPU例子不证明GPU可用。 |
%LindaWorkers=node1[:n1] [,node2[:n2]] … |
需Linda授权/构建、工作节点和调度器匹配,不把能SSH当作可绕过Slurm。 |
%UseSSH |
Linda等适用流程的连接选项,不会申请计算资源。 |
%DebugLinda |
Linda诊断设置,仅在已有合法分配与正确Linda环境中使用。 |
4. 输入资源与实际分配保持一致#
echo "$SLURM_JOB_ID"
echo "$SLURM_CPUS_PER_TASK"
echo "$GAUSS_SCRDIR"
这些值在作业环境里检查。调高%NProcShared、绑定CPU或配置Linda工作主机都不能获得超出调度分配的资源。大任务在申请前先估算内存和scratch,完成后保留输入、日志和有需要的个人检查点。
参考:Link0原厂说明。
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。