在云服务器上跑 VASP 的完整流程

整条链路其实只有七步,但每一步都有一个会卡住新手的点。这篇按顺序写清楚,包括每一步"做到什么算通过"。

2026-10-17 · 约 10 分钟读完

第 0 步:先算,别急着开机器

开机器之前把那两个数定下来,否则你会反复开机关机:

有了这两个数,"选 32 核还是 64 核、128 GB 还是 256 GB"就不再是猜的。

第 1 步:选规格与计费方式

三条经验:

  1. 内存比核数更容易成为瓶颈,先满足内存再考虑核数。
  2. 纯 CPU 的 DFT 不要选共享型(突发性能)实例,它的 CPU 积分会用完。
  3. 不确定跑多久就用按量付费;确定长期再包年包月;可续算的批量任务用抢占式。

规格族的选择逻辑见 实例选型。

第 2 步:系统与环境

选一个你熟悉的发行版(Alibaba Cloud Linux / CentOS / Ubuntu 都可以),然后把编译依赖装齐。关键只有三样:Fortran 编译器、MPI、数学库。

# 以 RHEL 系为例
dnf install -y gcc gcc-gfortran make openmpi openmpi-devel environment-modules
mpif90 -show    # 确认 MPI 包装器能找到编译器

通过检查的标准:mpif90 -show 能打印出完整的编译命令,mpirun -np 4 hostname 能正常输出四行。

第 3 步:编译 VASP

完整步骤与九种常见报错在 编译指南。这里只强调一件事:编译一次,做成自定义镜像。之后所有实例(包括抢占式)都从这个镜像起,省下的时间远超编译本身。

通过检查的标准:bin/ 下有 vasp_std,且在本地跑完 VASP 自带的一个小算例不报错。

第 4 步:跑一个标定算例

不要一上来就跑大体系。先拿一个你熟悉的、规模中等的算例,记录三件事:

# 记下这些数字,后面所有估算都基于它
grep "Total CPU time used" OUTCAR
grep -m1 "NBANDS" OUTCAR
grep "maximum memory" OUTCAR

第 5 步:数据搬进搬出

输入文件通常很小,直接用 scp 或 rsync 传即可。结果文件(WAVECAR、CHGCAR、轨迹)可能很大,用对象存储更划算:

# 传输入
rsync -avz ./calc root@<服务器IP>:/root/
# 回传结果(只回传需要的)
rsync -avz root@<服务器IP>:/root/calc/{OUTCAR,CONTCAR,OSZICAR} ./

通过检查的标准:算完后你本地有一份完整的、能复现的输入与关键输出。不要把唯一的结果留在随实例释放的盘上。

第 6 步:算完就停,别挂着

按量计费的实例,停机后通常只收取云盘费用。养成三个习惯:

第 7 步:复盘你花了多少

把实际机时和估算对比一次。差得远,说明你的缩放指数(估算器里的 n 值)要调;对得上,下次就能放心地按估算做预算。这一步做几次之后,你就有了属于自己的"每体系成本表",比任何人的经验值都可靠。

步骤一句话检查点
算内存知道要 ≥ 多少 GB,核数区间是多少
选规格独享型,内存先满足
装环境mpirun 能跨核跑通
编译小算例跑完不报错
标定有单步耗时与峰值内存
搬数据本地有可复现的输入输出
停机复盘实际费用与估算的差距可解释
相关阅读:一台新 ECS 十分钟配成 DFT 计算节点:可复现的初始化脚本 · 在 Linux 上编译安装 VASP:依赖、Makefile 与常见报错 · 每月 300 / 1000 / 3000 元预算,在云上能跑多少计算 · INCAR 检查器 · 配置推荐器 · 常见问题 · 离线单文件估算器 · 内存与 WAVECAR 估算器 · core-hour 机时估算器

从估算开始

先算出内存与机时,再决定开多大、开多久。

打开 core-hour 估算器 内存估算器
本站部分链接为推广链接,你购买的价格不变。命令示例以 RHEL 系为准,其他发行版请替换包管理器。