VASP 专题

VASP GPU 加速专题一:发展历程、GPU选型

理解FP64、显存、多卡互联和算力选择。

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

1. VASP 的 GPU 加速是怎样发展起来的#

VASP 的 GPU 加速经历了从关键计算移植到统一代码实现的过程。早期工作主要关注最耗时的矩阵运算、傅里叶变换和精确交换。2011 年提交、2012 年发表的研究已经把 GPU 用于 VASP 的精确交换计算,并以硼结构为例研究其性能。这代表了早期探索,不能将当时的加速倍数直接套用到今天的硬件和算例。

VASP 5.x 的 GPU 版本采用 CUDA-C 移植部分热点计算。它展示了 GPU 的潜力,同时也带来维护 Fortran 主程序和专门 GPU 代码的成本。2020 年,VASP 6.1 的 OpenACC 移植扩展了 GPU 覆盖,通过 Fortran 加速指令和 NVIDIA 数值库,让 CPU 与 GPU 实现更便于共同维护。

VASP 6.2 正式推荐 NVIDIA OpenACC 端口,6.3 移除了旧 CUDA-C 端口。到 6.6,NVIDIA 路线仍采用 OpenACC,同时出现面向 AMD、Intel 数据中心 GPU 的实验性 OpenMP offload 端口。本集群本次测试使用 VASP 6.6.1 的 NVIDIA OpenACC 构建。

VASP GPU 加速专题一:发展历程、GPU选型:图1

图1:路线演进示意,图中的版本节点表示实现变化。

2. 显卡参数、多卡互联与集群性价比#

选择 VASP 计算资源,需要了解的是这张卡的双精度能力是否足够,单卡显存能否装下任务,多张卡之间怎样连接,以及完成同一项计算需要多少时间和费用。

对鸢算科技 HPC 集群用户,实际可选的 GPU 包括 P100 PCIe 16GB、V100 SXM2 16GB、V100 SXM2 32GB。它们具备面向科学计算的双精度能力,配套的软件已经按平台分别构建。本文同时给出 A30、A100、H100、H200 等型号的参考参数,方便理解不同硬件的适用方向。

3. 先确定选型顺序#

建议按以下顺序选择资源:先满足计算方法和软件兼容性,再检查显存容量,然后比较双精度性能、显存带宽和多卡互联,最后用自己的算例比较完成时间与费用。

优先考虑的问题 需要确认的内容 对选择的影响
程序与功能是否匹配 VASP 版本、GPU 端口、所需扩展、编译目标 程序和科学功能适用,才有后续性能比较的意义
单卡能否容纳任务 最满一张卡的显存、后续阶段峰值、必要余量 总显存相同的多卡与大显存单卡不能简单互换
双精度计算是否够强 普通 FP64、必要时核对 FP64 Tensor Core GPU 核心数量和 AI TOPS 不能代替 FP64 指标
数据读写是否够快 显存带宽、实际频率 算力相同的卡也可能因带宽不同而表现不同
多卡通信是否合适 PCIe、NVLink、NVSwitch、NUMA、网络 同样八张卡,实际通信条件可能差别很大
是否值得使用这些资源 同输入耗时、卡数、完整作业费用 最短时间与最低费用可能对应不同配置

VASP 官方将 P100、V100、A30、A100、H100,以及 Quadro GP100、GV100 列入 NVIDIA OpenACC 端口的已测试硬件,并强调较强的 FP64 能力。官方清单中的“已测试”也不等于其中所有卡在所有输入上都有统一性能排名。

4. 显卡参数应该怎样读#

参数 含义 对 VASP 的实际意义
普通 FP64,单位 TFLOPS 双精度浮点运算的理论峰值 判断科学计算能力的重要起点;不是程序实测速度
FP64 Tensor Core 特定双精度矩阵运算路径的峰值 需要程序、数学库和矩阵形状适用;不能当作全部 VASP 的吞吐量
FP32、TF32、FP16、FP8、FP4 其他精度或矩阵运算指标 适用于相应算法;不能用 AI 的低精度峰值换算标准 VASP 的速度
显存容量 GPU 本地内存容量 决定能否容纳波函数、FFT 网格、工作数组、通信缓存等
HBM / GDDR 显存技术类型 结合实际带宽判断;名称本身不构成速度保证
显存带宽,单位 GB/s GPU 对本地显存的数据访问能力 与 GPU 间通信带宽是不同指标
NVLink 带宽 GPU 间高速互联能力 必须看具体连接对象、链路数量及带宽口径
PCIe 代数与通道数 GPU 与主机及其他设备的连接条件 Gen4 x8 与 Gen4 x16 不相同,也不同于 NVLink
ECC 显存纠错能力 是长时间科学计算的一项可靠性配置,不等同于数值精度保证
TDP / 功耗上限 板卡设计或运行功率限制 影响持续频率及性能;不等于实际耗电
Compute Capability,CC CUDA 指令与硬件能力版本 主要用于软件支持和编译目标匹配,不能按数字大小给 VASP 排名

例如,A100 的普通 FP64 为 9.7 TFLOPS,FP64 Tensor Core 为 19.5 TFLOPS;H100 SXM 分别为 34 和 67 TFLOPS。比较时需要使用同一列、同一种计量范围。

5. NVIDIA 主要计算卡的参数对照#

5.1 P100、V100、A30、A100、H100、H200#

下表均为单张 GPU 的厂商标称规格,不是 VASP 跑分。显存容量使用厂商 GB 标注;实际程序可使用的容量需要查询。NVLink 列为每张 GPU 全部相关链路的标称双向汇总带宽,不是任意两张卡之间都能达到的带宽。— 表示未提供该类 FP64 Tensor Core 指标;V100 本身有用于其他精度的 Tensor Core。

型号与形态 显存 普通 FP64 / TFLOPS 显存带宽 / GB/s NVLink 双向汇总 / GB/s 标称功耗 / W
P100 PCIe 16GB 16GB HBM2 4.7 732 无 250
P100 SXM2 16GB 16GB HBM2 5.3 732 160 300
V100 PCIe 16GB 16GB HBM2 7.0 900 无 250
V100 PCIe 32GB 32GB HBM2 7.0 900 无 250
V100 SXM2 16GB 16GB HBM2 7.8 900 300 300
V100 SXM2 32GB 32GB HBM2 7.8 900 300 300
A30 PCIe 24GB 24GB HBM2 5.2 933 200 165
A100 PCIe 40GB 40GB HBM2 9.7 1,555 600 250
A100 PCIe 80GB 80GB HBM2e 9.7 1,935 600 300
A100 SXM4 40GB 40GB HBM2 9.7 1,555 600 400
A100 SXM4 80GB 80GB HBM2e 9.7 2,039 600 400
H100 SXM 80GB 80GB HBM3 34 3,350 900 最高 700
H100 NVL 94GB 94GB HBM3 30 3,900 600 350–400
H200 SXM 141GB 141GB HBM3e 34 4,800 900 最高 700
H200 NVL 141GB 141GB HBM3e 30 4,800 900 最高 600

VASP GPU 加速专题一:发展历程、GPU选型:图2

图1:单卡厂商规格,展示的是两个不同的硬件指标,不是 VASP 加速倍数;省略了同系列的部分配置。

同系列也需要分清形态。集群的 P100 是 PCIe 版本,不能把 SXM2 的 NVLink 参数套到它身上;集群的 V100 是 SXM2,不能按 V100 PCIe 的互联条件理解它。A100 PCIe 可通过桥连接两张 GPU,而 SXM4 平台的互联由服务器底板和相应平台提供。

5.2 RTX 和部分数据中心卡为什么不一定优先#

GeForce、RTX 工作站和部分面向推理/图形的数据中心卡适合各自的工作负载。用于 VASP 时,仍需回到 FP64 和实际运行结果。

代表型号 容量或定位特点 VASP 选型时的判断
GeForce RTX 3090 24GB;GA102 架构 GA102 普通 FP64 吞吐率为 FP32 的 1/64,不能按其单精度能力判断 VASP
GeForce RTX 4090 24GB;AD102 架构 AD102 普通 FP64 吞吐率为 FP32 的 1/64;优先用自己的任务验证
GeForce RTX 5090 32GB GDDR7、较高显存带宽 AI TOPS、游戏和渲染性能不能证明其适合双精度 VASP
NVIDIA L40S 48GB ECC 显存,侧重 AI、图形与媒体 大显存与数据中心定位不等于强 FP64;官方规格不支持 NVLink
Quadro GP100 / GV100 官方 VASP 已测试的较早工作站计算卡 是需要按具体硬件判断的例子,不能把所有工作站卡归为同一类

如果手上已经有某张 RTX,可以在适配的软件环境中测试是否可运行、是否装得下,以及实际完成时间;本文不把“非优先选择”写成“任何任务都不能运行”。新采购或租用时,建议优先比较经过 VASP 验证的强 FP64 计算卡。

6. 显存容量怎样影响选型#

VASP 的内存需求涉及波函数和多种网格工作数组。官方内存说明给出波函数容量与 k 点、能带、平面波数组大小的关系;实际 GPU 占用还包含设备工作区、库和通信缓存,不能把单个公式当作完整显存预测。

任务特征或参数 可能改变的主要部分 选型时应怎样考虑
原子数、元素和 POTCAR 默认电子数、能带和投影相关数组 相同原子数的 Si 与含半芯态赝势的过渡金属体系可能很不同
NBANDS 波函数和带相关工作区 高空带数量任务需要单独评估,不能只看占据电子数
晶胞体积与形状、真空层 平面波及 FFT 网格 同原子数下,较大真空可能增加容量;以实际晶胞和网格为准
ENCUT、FFT 网格、PREC 平面波和实空间工作数组 保持所需科学精度,再判断显存需求
实际 k 点、对称性 k 点工作量及相应数据 不能用完整网格乘积代替实际 NKPTS
自旋、SOC、非共线设置 自旋通道、旋量及相应数组 不直接套用非磁性标准版估算
杂化泛函及响应任务 交换、响应和相关暂存 先核对版本中哪些阶段实际使用 GPU,再测全流程峰值
KPAR 分组和每组数据分布 改变每卡占用;更多 k 点组不保证更省显存
NSIM 同时处理能带的工作批量 较大批量可能增加暂存,容量边界需要复测
投影、偶极及后处理输出 额外工作区或输出阶段 关注完整流程;不只采样最初几个电子步

这些影响因素已经结合本集群显存实验整理,详见《VASP GPU 加速专题六:显存容量规划》。用户可以先使用 yskit 的 VASP 显存估算功能筛选资源,再检查真实运行。当前估算模型的整组规模留出误差 p90 约为 18.8%,不能把预测值当成实际峰值上限。

两张 16GB 卡不等于一张 32GB 卡。 VASP 中部分数据分布到进程,部分数据仍会复制;不同阶段的分布也不同。NVLink 提高通信能力,不会自动把多张卡变成一个可任意使用的巨大显存池。决定能否运行时,应看最满单卡,而不是把容量简单相加。

7. 多卡连接方式:它们分别解决什么问题#

7.1 常见连接形态#

连接方式 通信路径与典型形态 适用价值
PCIe,同一交换机附近 GPU 经 PCIe 交换结构通信 普通 PCIe 服务器可提供多卡条件
PCIe,跨 CPU / NUMA 路径涉及多个根复合体或 CPU 互联 可连接同节点不同区域的 GPU
NVLink 桥 对应 GPU 之间的直连桥 改善特定两卡或多卡组合的通信
SXM 平台的 NVLink 网络 GPU 按底板规定的图互连 为同节点多卡提供较强连接
NVLink + NVSwitch 通过交换结构连接较多 GPU 改善更大规模的互联一致性和通信能力
跨节点网络与 GPUDirect RDMA GPU、网络适配器、网络、远端 GPU 支持跨服务器的数据传输

NVLink 是 GPU 间的连接技术,NVSwitch 是构建更大互联网络的交换设备;两者不能用同一个词替代。当前新平台还有跨服务器的 NVLink 域,但不能把这种能力追认到早期单节点 V100。

同一台服务器里的 PCIe 路径也可能差别很大。对于 GPU–网卡的 GPUDirect RDMA,NVIDIA 文档明确区分仅经 PCIe 交换机、经 CPU/IOH、以及跨 CPU 互联的路径;实际效果与平台有关。

7.2 带宽的单位和计量范围#

标称信息 应怎样理解
PCIe Gen3 x16 约 32GB/s 双向 每个方向约 16GB/s 的接口理论量级,不是可同时承诺的程序带宽
PCIe Gen4 x16 约 64GB/s 双向 每个方向约 32GB/s;x8 的相应理论量级约减半
PCIe Gen5 x16 约 128GB/s 双向 每个方向约 64GB/s,实际还受设备和路径影响
V100 SXM2 NVLink 300GB/s 每张 GPU 所有相关链路的双向汇总,并非任意一对 GPU 的带宽
200Gb/s 网络端口 除以 8 是约 25GB/s 的理论数据率,协议和通信开销尚未扣除
400Gb/s 网络端口 同理约 50GB/s;不能把 Gb/s 直接当作 GB/s

7.3 P2P、CUDA-aware MPI、NCCL 与 RDMA 不相同#

名称 主要作用
GPU P2P GPU 之间访问或传输设备数据
CUDA-aware MPI MPI 能识别和处理 GPU 设备缓冲区
NCCL 针对 GPU 的集合通信库
GPUDirect RDMA 网络等设备直接与 GPU 显存进行适用的数据传输

多卡能力由硬件与软件共同决定。拓扑显示、设备缓冲通信检查、NCCL 的实际通道和 VASP 数值对照分别提供不同证据。

8. 鸢算科技 HPC 集群显卡的具体优势#

8.1 强 FP64、HBM 与两档 V100 容量、V100 NVLink连接#

集群 GPU 代表节点 节点 GPU 数 每卡显存 普通 FP64 显存带宽 多卡连接
P100 PCIe gcn001-8p100 8 16GB 4.7 TFLOPS 732GB/s PCIe
V100 SXM2 gcn001-8v100-16g 8 16GB 7.8 TFLOPS 900GB/s NVLink
V100 SXM2 gcn001-8v100-32g 8 32GB 7.8 TFLOPS 900GB/s NVLink

P100 的优势是以较低的资源费用提供科学计算需要的双精度能力。V100 SXM2 在普通 FP64 和显存带宽上更强,NVLink 还为多卡工作流提供额外通信条件。V100 32GB 则在保留相同规格双精度能力的同时,提供更大的单卡容量,方便容量敏感的任务。

32GB 型号的价值首先是“装得下更多数据”,不应直接宣传为相同输入必然比 16GB 快两倍。本集群已有性能测试主要来自 16GB 节点,本文不把它们当成 32GB 节点的实测。

8.2 鸢算科技 HPC 集群的价格与费用优势#

核时价格换算为实际资源小时#

当前核时单价为 0.025–0.035 元/核时,具体单价以账户适用规则为准。P100 16GB 每张卡每小时折算 24 核时,V100 16GB 每张卡每小时折算 32 核时;GPU 配套 CPU 不额外收费。8173m 按整节点 56 核计费。运行时间按秒累计,没有最低扣费。

提供商 资源 FP64算力 按当前单价换算的费用
鸢算科技HPC集群 P100 16GB 单卡 4.7 0.600 元/卡时
鸢算科技HPC集群 V100 16GB 单卡 7.8 0.800 元/卡时
鸢算科技HPC集群 8173m CPU 整节点 - 1.400 元/节点时
鸢算科技HPC集群 V100 32GB 包月单卡 7.8 650 元/张/月,折合0.90 元/卡时
A****l V100-PCIE-32GB 7.0 2.08 元/卡时
A****l A100-PCIE-40GB 9.7 3.45 元/卡时
并*云 V100-PCIE-32GB 7.0 5 元/卡时
S*I V100-PCIE-16GB 7.0 1.4元/卡时

对用户而言,鸢算科技HPC集群的费用优势体现在四个方面:远低于其他竞品价格;核时单价清晰,GPU 配套 CPU 不额外收费;短任务按秒累计,便于小规模试算和参数优化;持续使用者可以选择 650 元/月的 V100 32GB 包月方案。配合已经验证的软件环境,用户可以把预算集中用于实际计算,并用同输入的完成时间和核时决定资源配置。

8.3 资源、程序与辅助工具一起降低使用成本#

鸢算科技 HPC 集群已经提供五个 VASP 6.x GPU 发布版本:6.3.2、6.4.2、6.4.3、6.5.1、6.6.1。普通版、VTST、optcell、Wannier90、VASPsol、HDF5 六类构建分别覆盖 P100/V100,共 60 套 GPU 构建、180 个 std/gam/ncl 程序。

公共模块为用户准备匹配的运行环境;yskit 可复制提交脚本、估算 VASP 显存并辅助生成适用的 DP-GEN 配置。网页门户帮助查看资源、作业和账户信息,AI智能体 Codex 可辅助检查输入、脚本及整理结果。这些工具减少重复配置工作,与显卡算力一起构成集群的使用价值。

用户需求 本集群内可优先比较的资源 决策依据
预算优先,16GB 容量够用 P100 单卡与 V100 16GB 单卡 比较完整任务时间与实际核时
希望缩短中大规模任务时间 V100 16GB 双卡、四卡,再评估八卡 同时看 KPAR/NSIM、拓扑与并行效率
单卡容量接近 16GB 边界 V100 32GB 先解决容量问题,不假设增加小显存卡必然解决
持续运行且需要 32GB V100 32GB 包月 结合每月实际使用小时评估 650 元月费
小体系或 GPU 不占优势 8173m CPU 整节点 用相同输入比较;CPU 仍可更合适
自行采购 NVIDIA 卡 A100/H100/H200 等强 FP64 候选 在预算内比较容量、形态、互联、软件和实际任务

9. GPU 加速能为用户带来什么#

用户关心的不只是“程序能不能使用显卡”,还包括某个算例能缩短多少时间、需要几张显卡,以及这些显卡是否用得有效。已有测试表明,这些问题不能只根据原子数回答;不可约 k 点、能带数、并行划分和参数都会影响结果。

在本次 Si 测试中,8 原子体系使用 CPU56 核只需 18.992 秒。单卡 P100 和 V100 分别需要 96.730、80.320 秒;增加至八卡后分别为 18.675、15.898 秒。对于这样的小工作量,即使使用多卡,GPU 相对 CPU 的优势也很有限,接近的单次结果还应考虑波动。

216 原子体系的情况不同:CPU56 核为 481.058 秒,八卡 P100 为 140.318 秒,八卡 V100 为 90.478 秒,相对 CPU 分别达到 3.43 倍、5.32 倍加速。单卡 V100 为 354.889 秒,已快于该 CPU 基准;单卡 P100 为 486.089 秒,两者接近。

这里的数字描述的是这套固定输入下、已测参数中的最快结果,不构成“达到某个原子数就一定适合 GPU”的通用界线。实际使用时,还需结合精度要求、k 网格和空带数量选择资源。

合集

《VASP GPU 加速专题一:发展历程、GPU选型》

《VASP GPU 加速专题二:VASP 多版本与扩展功能支持》

《VASP GPU 加速专题三:性能实测》

《VASP GPU 加速专题四:计算准确性》

《VASP GPU 加速专题五:加速参数选择》

《VASP GPU 加速专题六:显存容量规划》

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