LAMMPS 专题

LAMMPS压入模型的GPU与Kokkos对照

使用相同Ni压入坐标比较P100、V100 16G的GPU与Kokkos构建,讲清模块、参数、精度与后处理。

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

本篇接续镍薄层球形压入实操。下载同一完整实例包并按前文执行 bash run.sh 后,四种后端的结果已经生成,不需要再次提交整组。

1. 实例包怎样安排作业#

cat p100.slurm
cat v100.slurm

P100作业先使用普通CPU势计算路径完成无压头与三个压入位置的松弛,再对这些坐标运行GPU包、Kokkos。V100 16G作业读取相同的松弛坐标,运行GPU包和Kokkos。因此这是同一几何上的势能与受力对照,不是比较两套独立最小化是否走到同一个局部极小点。

每个作业使用一张卡、一个MPI进程、一个OpenMP线程,脚本申请2个CPU核心。CPU参考计算位于P100主机的实际Slurm分配内,不作为独立CPU节点性能数据。

2. 模块和加速参数怎样对应#

硬件与构建 模块 原生调用的加速部分
P100 GPU包 lammps/30Sep2026-p100-gpu -sf gpu -pk gpu 1
P100 Kokkos lammps/30Sep2026-p100-kokkos -k on g 1 -sf kk -pk kokkos gpu/aware off
V100 16G GPU包 lammps/30Sep2026-v100-gpu -sf gpu -pk gpu 1
V100 16G Kokkos lammps/30Sep2026-v100-kokkos -k on g 1 -sf kk -pk kokkos gpu/aware off

这些参数由随包脚本在已分配节点中调用。Kokkos必须启用 -k on;GPU包与Kokkos是两种独立构建,模块要与节点和参数匹配。这里限制为每任务一张卡,gpu/aware off 使用相应的MPI通信设置。

四个构建均由GCC13.3.0编译,配套CUDA12.8与OpenMPI5.0.10。GPU包使用混合精度,Kokkos5.2.1使用双精度、C++20构建。具体支持样式还应查GPU使用指南,不能假定任意后缀都存在。

3. 怎样确认实际用了加速路径#

grep -E 'Device 0|Mixed Precision|pair eam' work/p100-gpu-depth-1.0/native.log
grep -E 'KOKKOS|precision|GPU|kokkos_device' work/p100-kokkos-depth-1.0/native.log

GPU包日志会列出实际设备与Mixed Precision;Kokkos日志会列出Kokkos版本、双精度、GPU数及 kokkos_device 邻居路径。这篇实际加速的是EAM原子间势计算。球形接触约束仍按该构建提供的 fix indent 处理,不能把加载了Kokkos模块等同于每一个fix都有独立GPU实现。

本例使用 run 0 对已给定的结构重新求能量和受力,日志中“没有时间积分fix、原子不会移动”的提示符合这里的目的。这一步不运行MD,也没有重新做GPU最小化。

4. 同一结构下怎样比较结果#

cat tables/accelerator-errors.csv
cat work/p100-gpu-depth-1.0/properties.dat
cat work/v100-kokkos-depth-1.0/properties.dat

对每个深度,逐个比较720个原子的全部2160个受力分量,并比较总势能及压头反作用力。本次四种后端的最大原子受力差约 2.04×10⁻⁵ eV/Å,最大总能量差折合约 1.42×10⁻⁷ eV/原子;这里的差是相对于同一坐标的CPU计算路径。

实际四种加速构建的受力与能量差

双精度与混合精度的末位差异正常存在,比较自己的问题时应选择与目标精度相关的能量、力和最终物理量。不能只因这组三个小结构数值接近,就断言所有势、体系或长时间轨迹都相同。

这组小规模 run 0 结果不用于评价加速比。可靠的性能比较需要合适体系大小、足够步数、相同物理设置与明确的MPI/GPU分配。

5. 查看已有结果或重新分析#

bash analyze.sh

此时读取包里的 reference;使用本次重算结果则执行 bash analyze.sh work。源图片可从固定参考数据重新生成,新计算图片按新的实际数据绘制,不通过截断微小差异使它们看起来相同。

Kokkos启动与通信选项参考官方Kokkos说明;EAM各构建支持的样式参考官方EAM说明。

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

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗