Skip to content

Build spec

A build spec describes one LAMMPS executable. verlet checks it against the machine, turns it into a Spack spec, builds it under ~/.verlet, and registers ~/.verlet/bin/<name>. See Prepare a machine for the workflow.

name: lmp-gcc-omp
lammps: 20250722
packages: [MOLECULE, KSPACE, RIGID, MANYBODY, EXTRA-PAIR]
compiler: gcc@13
optimization: native
mpi: system
accelerators: [openmp]
lapack: auto
fft: fftw3
modules: [gcc/13.2, openmpi/4.1.6]
jobs: 8
KeyValuesDefaultBecomes
namelowercase letters, digits and dashes, at most 40required~/.verlet/bin/<name>; a name not starting with lmp gets lmp- in front
lammpsa release date such as 20250722, or stable, or lateststablelammps@20250722; stable and latest let Spack pick its preferred release
packagesLAMMPS package names, any casenone+molecule +kspace …
compilergcc, clang, oneapi or nvhpc, optionally @versionnewest gcc found%gcc@13.3.0
optimizationnone, O2, O3, nativenativecxxflags and cflags; native is -O3 -march=native
mpisystem, spack, nonesystemsystem: the machine’s MPI, never rebuilt; spack: build OpenMPI; none: ~mpi
acceleratorslist of openmp, kokkos-openmp, kokkos-cuda, gpu-cuda, gpu-opencl, intelnonesee below
lapackauto, openblas, mkl, systemauto^openblas, ^intel-oneapi-mkl, or the machine’s BLAS/LAPACK
fftauto, fftw3, kiss, mklautofft=…; auto uses MKL when the machine has it, otherwise FFTW3
modulesmodule namesnonemodule load before every Spack command and before every run
jobsa number, at least 1cores, at most 16spack install -j
extra.cmakea list of -D optionsnoneaccepted, but not yet passed to the LAMMPS build
ValueSpack variantsNeeds
openmp+openmp +openmp-packagenothing extra; adds the OPENMP package’s /omp styles
kokkos-openmp+kokkos +openmpnothing extra
kokkos-cuda+kokkos +cuda cuda_arch=…the CUDA toolkit; the architecture comes from the GPU the scan found
gpu-cuda+gpu +cuda gpu_precision=mixedthe CUDA toolkit
gpu-opencl+gpu +opencl gpu_precision=mixedan OpenCL runtime
intel+intelworks with any compiler; fastest with oneapi

kokkos-cuda and gpu-cuda cannot be combined, and only one Kokkos backend can be chosen.

The spec is checked as you type, and again against the machine before the build starts.

Errors stop the build:

  • unknown keys, or values outside the lists above;
  • unknown package names, or packages that do not exist in the chosen release;
  • pre-2021 names such as USER-MISC, with the modern name to use instead;
  • a compiler that is not on the machine, or mpi: system when no MPI was found;
  • CUDA accelerators when the machine has no CUDA toolkit;
  • lapack: mkl without oneapi or MKL on the machine.

Warnings are allowed:

  • no packages at all, so only the core styles will exist;
  • packages that need an extra library Spack will build, such as VORONOI (voro++), ML-PACE or KIM;
  • intel without the oneapi compiler.

For a build named lmp-minimal:

~/.verlet/builds/lmp-minimal/
spec.yaml your spec, as submitted
spack.yaml the Spack environment generated from it
spack.lock every dependency and version Spack chose
env.sh module loads and paths for this build
build.log everything Spack printed
result.json the outcome: state, executable, packages, duration, size
view/bin/lmp the binary
~/.verlet/bin/lmp-minimal the wrapper verlet registers and runs

Names are case-insensitive. Packages marked with a last release were removed from later LAMMPS versions.

PackageFirst releaseLast release
ADIOS2021-07-02current
AMOEBA2022-08-03current
ASPHEREallcurrent
ATC2021-07-022025-07-22
AWPMD2021-07-022025-07-22
BOCS2021-07-02current
BODYallcurrent
BPM2022-05-04current
BROWNIAN2021-07-02current
CG-DNA2021-07-02current
CG-SDK2021-07-022022-06-23
CG-SPICA2022-08-03current
CLASS2allcurrent
COLLOIDallcurrent
COLVARS2021-07-02current
COMPRESSallcurrent
CORESHELLallcurrent
DIELECTRIC2021-07-02current
DIFFRACTION2021-07-02current
DIPOLEallcurrent
DPD-BASIC2021-07-02current
DPD-MESO2021-07-02current
DPD-REACT2021-07-02current
DPD-SMOOTH2021-07-02current
DRUDE2021-07-02current
EFF2021-07-02current
ELECTRODE2022-05-04current
EXTRA-COMMAND2024-08-29current
EXTRA-COMPUTE2021-07-28current
EXTRA-DUMP2021-07-28current
EXTRA-FIX2021-07-28current
EXTRA-MOLECULE2021-07-28current
EXTRA-PAIR2021-07-28current
FEP2021-07-02current
GRANSURF2026-07-04current
GRANULARallcurrent
GRAPHICS2026-02-11current
H5MD2021-07-02current
INTEL2021-07-02current
INTERLAYER2021-07-28current
KIMallcurrent
KOKKOS2020-10-29current
KSPACEallcurrent
LATBOLTZ2021-07-02current
LATTE2017-09-222023-03-28
LEPTON2023-02-08current
MACHDYN2021-07-02current
MANIFOLD2021-07-02current
MANYBODYallcurrent
MCallcurrent
MDI2021-07-02current
MEAM2021-07-02current
MESONT2021-07-02current
MGPT2021-07-02current
MISCallcurrent
ML-HDNNP2021-07-02current
ML-IAP2021-07-02current
ML-PACE2021-07-02current
ML-POD2022-12-22current
ML-RANN2021-07-02current
ML-SNAP2021-07-02current
ML-UF32024-06-27current
MLIAP2020-06-302021-05-27
MOFFF2021-07-02current
MOLECULEallcurrent
MOLFILE2021-07-02current
MPIIOall2023-08-02
NETCDF2021-07-02current
OPENMPallcurrent
OPTallcurrent
ORIENT2021-07-28current
PERIallcurrent
PHONON2021-07-02current
PLUGIN2021-04-08current
PLUMED2021-07-02current
POEMSall2025-07-22
PTM2021-07-02current
PYTHONallcurrent
QEQallcurrent
QTB2021-07-02current
REACTION2021-07-02current
REAXall2018-12-12
REAXFF2021-07-02current
REPLICAallcurrent
RHEO2024-08-29current
RIGIDallcurrent
SCAFACOS2021-07-02current
SHOCKallcurrent
SMTBQ2021-07-02current
SNAPall2021-05-27
SPH2021-07-02current
SPIN2018-06-29current
SRDallcurrent
TALLY2021-07-02current
UEF2021-07-02current
VORONOIallcurrent
VTK2021-07-02current
YAFF2021-07-02current