← all repositories
brucefan1983/GPUMD

Molecular dynamics that actually fits on a GPU

GPUMD runs atomistic simulations entirely on GPUs, with a homegrown machine-learned potential called NEP that keeps getting better.

782 stars Cuda Domain AppsData Tooling
GPUMD
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

GPUMD is a molecular dynamics package written in CUDA that lives entirely on the GPU. It simulates how atoms move and interact, and it can train and run a flavor of machine-learned interatomic potentials called neuroevolution potentials (NEPs). The package produces two binaries: gpumd for MD simulations and nep for training potentials. It needs compute capability 3.5+ and CUDA 9.0 or newer, and builds with a single make in the src directory.

The interesting bit

The NEP potential family has evolved through four major versions in about four years (NEP1 through NEP4/UNEP-v1), with spinoffs for tensorial properties, dynamic charges, coarse-graining, and even path-integral quantum simulations. The project maintains a separate CPU implementation of NEP for LAMMPS integration, which suggests the authors care about ecosystem adoption, not just benchmark numbers.

Key highlights

  • GPU-native from the ground up, not a port of a CPU codebase
  • Built-in training and inference for NEP machine-learned potentials
  • Extensive published methodology: heat transport decomposition, shock wave simulation, hybrid Monte Carlo/MD, linear-scaling quantum transport
  • Active ecosystem: Colab tutorial, dedicated tutorials repo, PySAGES integration for enhanced sampling
  • Cross-platform: Linux/GCC and Windows/MSVC

Caveats

  • Requires NVIDIA hardware; no AMD or CPU fallback mentioned for the main package
  • README is heavy on citation table, light on architectural or performance details
  • The make build is simple but also means no CMake or package manager integration

Verdict

Materials scientists and computational physicists who need large-scale atomistic simulations with machine-learned potentials should look here. If your work is small-scale, CPU-bound, or needs broad hardware portability, this is not your tool.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.