Optimization of the LAMMPS
Description
Title: Benchmark data, FEP results, and modified LAMMPS source files for "AI-Assisted Systematic Optimization of the LAMMPS Molecular Dynamics Simulator via Large Language Model Coding Agents" This dataset accompanies the manuscript submitted to Computer Physics Communications (2026). It contains all data required to reproduce the performance benchmarks, numerical verification results, and free-energy perturbation (FEP) case study reported in the paper. Contents: 1. Benchmarking data (tools/bench/) summary.csv — Consolidated loop-time and pair-time statistics for all benchmark runs (N = 3–5 independent runs per configuration). in.*_test / in.*_speed_test — LAMMPS input files for each of the 225 pair styles verified under the A-3 optimization protocol (50-step NVE thermo-comparison tests) and for serial/OMP speed benchmarks. port*_before.thermo / port*_after.thermo — Bit-level thermo output (step, temp, epair, etotal, press) before and after each modification, enabling line-by-line numerical verification. OpenMP scaling benchmark inputs: 4,000-atom and 32,000-atom FCC Ar systems (lj/cut, NVE ensemble). Compiler-flag benchmark logs (Baseline / AVX2 / fp:fast / LTO / AVX2+fp:fast). 2. FEP case-study data (tools/fep/) LAMMPS input files for thermodynamic integration (TI) of Li⁺ desolvation in three battery solvents: ethylene carbonate (EC, ε = 89.8), propylene carbonate (PC, ε = 64.9), and 1,2-dimethoxyethane (DME, ε = 7.2). 21 λ-window simulation outputs (λ = 0.00–1.00, step 0.05) for both 40 ps/window (logs_opls/) and 200 ps/window (logs_opls_long/) production runs. OPLS-AA force field parameter files for Li⁺, EC, PC, and DME. Joung–Cheatham Li⁺ ion parameters. 3. Analysis and figure scripts (tools/plots/, tools/bench/) Run-Benchmark.ps1 — PowerShell harness that automates multi-run LAMMPS execution, parses MPI timing output, and appends to summary.csv. fig1_workflow.py – fig7_fep_casestudy.py — Python scripts (matplotlib) reproducing all six main figures and three supplementary figures in the manuscript. fig_s1_omp_scaling.py, fig_s2_nve_energy.py — Supplementary figure scripts. 4. Modified LAMMPS source files The 35 new OpenMP pair-style variants (A-1) and the 225 A-3 restrict/accumulator-patched files are submitted as pull requests to the upstream LAMMPS repository (github.com/lammps/lammps) upon journal acceptance. The exact commit SHA and PR numbers are listed in the manuscript. The source files are also mirrored at github.com/mirryou-maker/lammps-CO. Software versions used: LAMMPS: develop branch, commit stable_29Aug2024 baseline + this work's patches Python 3.11, NumPy 2.4, SciPy 1.17, Matplotlib 3.11 OVITO 3.15 (structural visualization, supplementary) Operating system: Windows 11 / Linux (iREMB HPC cluster, PBS Pro) Compiler: MSVC 19.x (Windows benchmarks); GCC 8.5 + OpenMPI 4.1.4 (HPC runs)
Files
Steps to reproduce
STEPS TO REPRODUCE "AI-Assisted Systematic Optimization of the LAMMPS Molecular Dynamics Simulator via Large Language Model Coding Agents" Computer Physics Communications (2026) | Author: Chun-Yeol You, DGIST PREREQUISITES Build LAMMPS (PKG_OPENMP=yes, PKG_KSPACE=yes, PKG_EXTRA-PAIR=yes) from github.com/lammps/lammps with patches from github.com/mirryou-maker/lammps-CO. Install Python 3.11 with: numpy scipy matplotlib pandas STEP 1 — Baseline & compiler-flag benchmarks (Tables 1-2, Figure 3) cd tools/bench lmp -in in.lj_cut_speed_test -var natoms 32000 # N=5 runs, serial Rebuild under each flag (/arch:AVX2, /fp:fast, LTO, combined) and repeat. Parse "Loop time" and "Pair time" from stdout. STEP 2 — OMP scaling benchmarks (Tables 4-5, Figure 4) for T in 1 4 8; do lmp -sf omp -pk omp $T -in in.lj_cut_speed_test -var natoms 32000 done lmp -sf omp -pk omp 4 -in in.nm_cut_split_speed_test lmp -sf omp -pk omp 4 -in in.born_coul_dsf_speed_test lmp -sf omp -pk omp 4 -in in.lj_class2_soft_speed_test STEP 3 — Numerical verification of 225 modified pair styles (Section A-3) Each port*_before/after.thermo file (50-step NVE, %20.15g format) is included. diff port<N>_before.thermo port<N>_after.thermo # must produce no output STEP 4 — FEP Li+ desolvation: run TI windows (Figure 6, Table 7) Solvents: EC, PC, DME | 21 lambda windows (0.00–1.00, step 0.05) Pre-computed 200 ps/window outputs are in tools/fep/logs_opls_long/. To rerun: cd tools/fep lmp -sf omp -pk omp 4 -in in.fep_<SOL>_long.lammps -var lambda <LAM> \ > logs_opls_long/fep_<SOL>_lam<LAM>.stdout STEP 5 — Compute free energies (Figure 6d-e) python tools/plots/fig7_fep_casestudy.py Expected: EC -184.7, PC -182.8, DME -159.9 kcal/mol (±0.3) STEP 6 — Reproduce all figures cd tools/plots python fig1_workflow.py && python fig2_omp_coverage.py python fig3_build_flags.py && python fig4_omp_scaling.py python fig5_a3_backport.py && python fig6_summary.py python fig7_fep_casestudy.py Output: PNG (300 DPI) in same directory (~5 min total). SOFTWARE: LAMMPS develop (stable_29Aug2024 + this work), Python 3.11, NumPy 2.4.6, SciPy 1.17.1, Matplotlib 3.11.0, GCC 8.5 / MSVC 19.x
Categories
Funders
- National Research Foundation of KoreaMinistry of Science and ICTDaejeon, DaejeonGrant ID: RS-2026-25472340