openmaterials.ai / codes / GPUMD

GPUMD: trains neuroevolution potentials and runs molecular dynamics on one GPU

A molecular dynamics code written in CUDA for GPUs from the start, with its own machine-learned potential (NEP) trained and run in the package, and heat transport on the fly.

What it is and how it works

The neuroevolution potential

A one-hidden-layer network on a Chebyshev radial and angular descriptor, trained by the SNES evolutionary algorithm in the nep executable. It runs at about 1e7 atom steps per second on one V100 GPU (Fan 2022).

Forces without write conflicts

One thread per atom sums force, virial and heat current from a pairwise force expression, with no write conflicts. One K40 GPU matched LAMMPS on 100 cores (Fan 2017).

Heat transport on the fly

Green-Kubo (compute_hac), HNEMD (compute_hnemd) and NEMD with Langevin heat baths, plus spectral (compute_shc) and modal (compute_hnema) decompositions (Xu 2025).

Ensembles and integrators

NVE, NVT and NPT with Berendsen, Nose-Hoover chain, Bussi-Donadio-Parrinello and Langevin thermostats, MTTK barostats, MSST shock, path-integral MD (Xu 2025).

Two executables, four files

nep trains from nep.in and train.xyz. gpumd runs from run.in and model.xyz, both extended XYZ. Also Tersoff, Stillinger-Weber, EAM and hiphive force constants (Xu 2025).

Python tools

calorine and PyNEP expose NEP as ASE calculators. gpyumd writes inputs and parses outputs. NEP_CPU runs NEP models on CPUs and provides the LAMMPS interface (Xu 2025).

What people do with it

  • 1.5e7NEP3 atom steps per second on one A100 GPUFan 2022
  • about 100CPU cores of LAMMPS matched by one K40, TersoffFan 2017
  • 63 meV/ANEP3 force RMSE on the MgAlCu alloy data setFan 2022

Rotated MoS2 films, through-plane heat

Measured through-plane conductivity 57 mW/m/K and anisotropy ratio near 900. HNEMD in GPUMD showed kappa dropping from 3.7 to 0.16 W/m/K from bulk to rotated MoS2 at 300 K (Kim 2021). Kim 2021

Heat conductivity of liquid water

A NEP fitted to SCAN DFT data, with an HNEMD spectral quantum correction, gives 0.60 W/m/K at 300 K against 0.89 classical, in agreement with NIST data from 275 K to 500 K (Xu 2023). Xu 2023

Source-sink conductance in graphene NEMD

NEMD in GPUMD matches the ballistic AGF conductance of graphene, 12.2 GW/m2/K classical, when Delta T is taken between source and sink. Langevin baths beat Nose-Hoover chains (Li 2019). Li 2019

How it is used

  1. Collect reference data

    Convert DFT outputs to extended XYZ train.xyz with vasp2xyz, cp2k2xyz or similar tools.

  2. Train the NEP

    Set cutoffs, descriptor sizes, loss weights and generations in nep.in. Run nep: nep.txt.

  3. Build the model

    Write model.xyz in extended XYZ with calorine or gpyumd, or by hand.

  4. Run the MD

    In run.in: potential nep.txt, velocity, ensemble, time_step, compute_hnemd or compute_hac.

  5. Analyse the outputs

    Read thermo.out, hac.out and the compute files into Python with calorine or gpyumd.