yskit脚本选择与GPU检查工具
公共脚本选择、显存估算和已有GPU辅助工具的使用说明。
阅读本篇目录
各章节保留原指南中的版本、平台、操作示例与适用边界;章节日期不同,使用时按所列版本核对。全部软件分项
环境与使用说明#
6.4 其他工具#
| 工具 | 路径 | 定位 |
|---|---|---|
| yskit | /public/toolkit/yskit |
复制公共Slurm脚本、交互生成DP-GEN工作流及VASP显存估算 |
| gpu-burn | /public/toolkit/gpu-burn |
管理员 GPU 压力测试工具,不作为普通计算作业入口 |
VASP GPU 显存快速估算#
在含 INCAR、POSCAR、POTCAR、KPOINTS 的算例目录运行 yskit,选择 (3) VASP 显存估算,按编号选择 GPU、VASP 版本、卡数和程序类型。此功能可以直接在登录节点使用,只读取输入,不启动 VASP,也不修改算例或提交任务。
直接命令示例:
yskit vasp-memory --gpu v100 --gpus 4
yskit vasp-memory --gpu p100 --gpus 8 --kpar 2 --nsim 32
yskit vasp-memory --gpu v100 --gpus 4 --capacity 32 --vasp-version 6.4.2
yskit vasp-memory --path /自己的算例目录 --gpu v100 --gpus 2 --nkpts 8 --json
--kpar、--nsim、--nbands、--nkpts 仅覆盖本次估算,实际提交前仍需自行保持 INCAR/Slurm 配置一致。默认估算普通 std 或按输入选择 ncl;真正的 Γ 单点 gam 使用 --variant gam。帮助为 yskit vasp-memory --help。
报告显示原子数、由原子种类/数量与 POTCAR ZVAL 得到的默认电子数、NBANDS、实际或预估 NKPTS、截断能与晶胞体积,以及占用最高的一张卡的估算值、工程范围和建议空闲显存。每卡1MPI/1CPU、NCORE=1;不能将总量除以卡数,也不能把8张16G看成一张128G。
自动网格优先使用相同测试输入的实际 OUTCAR;新非磁性结构通过现有 spglib 估算。磁性/特殊对称或计算方式不能可靠约化时,使用完整网格上限并提示覆盖。已有 VASP 输出可查:
grep -m1 'NKPTS' OUTCAR
将实际数字填入 --nkpts;零权重点也计入数量。Line-mode、KSPACING 等未自动解析方式同样可提供实际 NKPTS。不会自动采用当前目录中可能过期的 OUTCAR。
标定来自本集群 VASP6.6.1/NVHPC25.3、P100/V10016G、默认NCCL/设备缓存/P2P的显存实验,覆盖原子/元素与电子数、空带、k点、ENCUT、体积/真空、PREC/ADDGRID/LREAL、ALGO、卡数/KPAR/NSIM;LORBIT/NEDOS及偶极修正包含新增补测。相同输入可直接显示实测参考;普通非磁性半局域计算使用实测拟合,跨材料/版本/32G节点等范围加宽。杂化、SOC等只有少量定点参考,超出相应已测配置或使用未标定方法、手动FFT网格时,可能显示“没有可靠的数值估算”。
采样最大值可能漏掉短暂峰值;工程范围和预留量不是统计置信区间,也不保证不会OOM。重要新算例、范围外配置和接近容量上限的作业应先短试算,检查申请的每张卡的实际剩余显存;复杂方法不会被普通DFT模型强行换算成精确GiB。
主程序使用系统 Python3;网格对称辅助借用现有 phonopy-4.7.2 环境的 spglib2.7.0,用户无需激活Conda,没有新增安装依赖。实现/校准与验证记录:管理员维护记录;补测记录:管理员维护记录。
最终模型引用522项实测,普通非磁性std拟合498项;整组原子数留出误差p90=18.8%,最大=43.1%。冻结初始模型对28项新结构的前瞻检验p90=25.7%,范围包含28/28项;最终重拟合尚未开展第二批独立前瞻验证。完整误差及限制见更新记录,不能把拟合残差当作预测保证。
yskit 与 gpu-burn 的实现环境#
yskit 是本地维护的脚本选择工具,读取公共 Slurm 文件并复制,不需要 MPI/CUDA 编译环境。应用计算使用复制出来的模板所指定的工具链。
gpu-burn 从上游提交 3ead140434da9473582b68452f7115967a7a0581 源码通过 Make 构建,CUDA 12.8,设备代码同时包含 sm_60/sm_70,构建并行度为 4。源码和 Makefile 未修改,入口包装器设置 CUDA 库及内核文件位置。P100 验证 FP32/FP64,V100 验证 FP32/FP64/Tensor;这些是压力测试模式,不是集群其他应用的精度设置。来源:gpu-burn 构建记录。
软件是否已部署,以本集群实际安装和检查结果为依据;CP2K、GPUMD已另列专节,Phono3py等未核实的软件不因参考网页提及就列为已安装。