登录
LAMMPS
lammps
0
0/小时
v2025.02

LAMMPS 简介与 GPU 性能测试指南

1. 什么是 LAMMPS?

LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) 是一个经典的分子动力学模拟程序。它主要用于模拟原子、聚合物、生物分子、金属、半导体等材料在微观尺度下的运动和相互作用。

简而言之,它就像是一个微观世界的物理引擎:你定义原子在哪里、它们之间有什么力(势函数),LAMMPS 就会计算它们随时间如何移动。

由于计算量巨大(通常涉及数百万次的时间步迭代),LAMMPS 非常依赖高性能计算硬件。您手中的 RTX 4090 和 RTX 5090 是目前加速此类计算的顶级工具。


2. 测试环境准备在开始测试前,请确认您的目录结构如下(基于之前的部署):

~/lammps/
├── in.gpu_test          # 测试脚本(包含约200万个原子的模拟设置)
├── build_4090/
│   └── lmp_4090         # 针对 RTX 4090 编译的可执行文件
└── build_5090/
    └── lmp_5090         # 针对 RTX 5090 编译的可执行文件

测试脚本说明 (in.gpu_test):

  • 物理模型:Lennard-Jones 流体(最标准的分子动力学模型)。
  • 规模:80x80x80 的晶格,约 200 万个原子
  • 目的:这个规模足以让高性能 GPU 满载运行,从而测出真实的加速性能。

3. 如何运行测试请打开终端,进入 ~/lammps 目录,根据您的机器硬件选择对应的指令。

场景 A:在 RTX 4090 机器上运行

# 进入目录
cd ~/lammps

# 运行指令
./build_4090/lmp_4090 -sf gpu -pk gpu 1 -in in.gpu_test

场景 B:在 RTX 5090 机器上运行

# 进入目录
cd ~/lammps

# 运行指令
./build_5090/lmp_5090 -sf gpu -pk gpu 1 -in in.gpu_test

参数详解

  • -in in.gpu_test: 指定输入脚本文件。
  • -sf gpu: 后缀自适应 (Suffix)。自动将脚本中的普通命令(如 pair_style lj/cut)转换为 GPU 加速版本(pair_style lj/cut/gpu)。
  • -pk gpu 1: 包配置 (Package)。告诉 LAMMPS 启用 GPU 包,并使用 1 块显卡。

4. 如何验证 GPU 正在工作?

方法一:观察终端输出程序启动后的前几行会显示设备信息。如果成功调用 GPU,您会看到类似下面的内容:

Installing GPU package ...
...
Device 0: NVIDIA GeForce RTX 4090 ... (或 5090)

如果显示的是 CPU 信息或没有 Device 0 字样,说明并未运行在显卡上。

方法二:实时监控 (推荐)在模拟运行时,打开一个新的终端窗口,输入:

watch -n 1 nvidia-smi

  • Volatile GPU-Util: 应该在 80% - 99% 之间跳动。
  • Memory-Usage: 显存应该被占用(具体大小取决于原子数量)。

5. 性能结果分析

模拟结束后,查看终端输出的最后部分(或生成的 log.lammps 文件)。找到 Performance 这一行:

Performance: 154.123 ns/day, 6.488 hours/ns, 356.762 timesteps/s

  • timesteps/s (每秒步数): 数值越大越好。这是衡量计算速度最直观的指标。
  • 您可以对比 4090 和 5090 上的 timesteps/s 数值,以评估 5090 带来的性能提升。
镜像信息
@苍耳阿猫
苍耳阿猫认证作者
已使用1
运行时长
0 H
镜像大小
20GB
最后更新时间
2025-12-16
支持卡型
RTX50系RTX40系
+2
框架版本
Miniconda-lammps_patch 10Dec2025
CUDA版本
12.8
应用
JupyterLab: 8888
版本
v2025.02
2025-12-16
Miniconda:lammps_patch 10Dec2025 | CUDA:12.8 | 大小:20.00GB