Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
367 commits
Select commit Hold shift + click to select a range
2ff096f
update macOS runner to macOS 26 on Intel CPU
akohlmey Aug 25, 2026
d8c2a58
upgrade to runner with current visual studio
akohlmey Aug 25, 2026
9e3b2bd
Merge branch 'develop' into more-kokkos-porting
akohlmey Aug 25, 2026
5405f6f
KOKKOS: sync and claim xshake around the device forward comm in fix s…
stanmoore1 Aug 25, 2026
402507f
Merge kk_bugfixes into the fix shake xshake change
stanmoore1 Aug 25, 2026
33f0358
Merge branch 'develop' into kk_bugfixes
stanmoore1 Aug 25, 2026
9ba00b5
KOKKOS: sync atom data in ModifyKokkos::energy_couple/energy_global
stanmoore1 Aug 25, 2026
46ae889
KOKKOS: set EMPTY_MASK datamasks for the internal MINIMIZE/kk fix
stanmoore1 Aug 25, 2026
a979cd5
KOKKOS: initialize cached per-atom pointers in atom_vec_*_kokkos cons…
stanmoore1 Aug 25, 2026
811895e
KOKKOS: fix per-atom energy/virial memory leak in tip4p/kk pair styles
stanmoore1 Aug 25, 2026
00d4c8c
KOKKOS: set EMPTY_MASK datamasks for fix property/atom
stanmoore1 Aug 25, 2026
95cf140
KOKKOS: fix per-atom virial memory leak and out-of-bounds access in f…
stanmoore1 Aug 25, 2026
ac6f763
KOKKOS: fix missing virial, every keyword and sforce sizing in fix ad…
stanmoore1 Aug 25, 2026
988b963
Add missing data transfer in fix shake/kk
stanmoore1 Aug 25, 2026
41d3dd1
Merge branch 'kk_bugfixes' of github.com:stanmoore1/lammps into kk_bu…
stanmoore1 Aug 25, 2026
13a9d42
Merge branch 'develop' into cmake-google-test-updates
akohlmey Aug 25, 2026
445a3c9
Merge branch 'develop' into more-kokkos-porting
akohlmey Aug 26, 2026
6ec7d3a
fix use-after-free and reduced-precision MPI bug in fix halt/kk
akohlmey Aug 26, 2026
8d730fa
sync the group mask in DomainKokkos group-wise x2lamda/lamda2x
akohlmey Aug 26, 2026
102d2d0
keep per-atom restart data of KOKKOS state-carrying fixes coherent
akohlmey Aug 26, 2026
07d83c7
rework compute temp/profile/kk binning and per-bin accumulation
akohlmey Aug 26, 2026
defbc77
KOKKOS thermostats: use restore_bias_all_kk() and match helper flavor
akohlmey Aug 26, 2026
dfdb844
run the fix spring/rg group reductions on the device
akohlmey Aug 26, 2026
c43ca46
drop copymode guards of base fixes whose fake KOKKOS ports were removed
akohlmey Aug 26, 2026
caea945
document the restrictions of the gjf/kk and temp/csld/kk variants
akohlmey Aug 26, 2026
17cae1e
add KOKKOS ports of compute temp/ramp and fix heat
akohlmey Aug 26, 2026
6bc0438
update KOKKOS porting backlog for the heat and temp/ramp ports
akohlmey Aug 26, 2026
8fe73db
avoid division by zero
akohlmey Aug 26, 2026
257b836
KOKKOS: compute the per-atom energy and virial in fix shake/kk
stanmoore1 Aug 26, 2026
67c3ddb
KOKKOS: fix data race on the region contact list
stanmoore1 Aug 26, 2026
47280c8
Merge branch 'develop' into more-kokkos-porting
akohlmey Aug 28, 2026
de08413
Merge branch 'develop' into compute-frenkel
akohlmey Aug 28, 2026
565f76d
move compute_modify settings to be optional direct keywords. fix some…
akohlmey Aug 28, 2026
2262d63
apply clang-format and convert static constexpr variables to anonymou…
akohlmey Aug 28, 2026
329a969
change cluster connection distances to be unitless
akohlmey Aug 28, 2026
ec362f1
add compute frenkel unittest
akohlmey Aug 28, 2026
6c4f30f
add commented compute frenkel example
akohlmey Aug 28, 2026
142db46
update compute frenkel docs with W-S cell graphs and explanations
akohlmey Aug 28, 2026
e54022d
correct ComputeStyle() macro use
akohlmey Aug 28, 2026
fc8dbaa
add utility functions to validate that a format string matches the da…
akohlmey Aug 29, 2026
ff1eb99
apply format checking to styles where custom format strings are accepted
akohlmey Aug 29, 2026
a6dcc2a
document format string checking and restrictions
akohlmey Aug 29, 2026
dbbe232
add tests for format checking utility functions
akohlmey Aug 29, 2026
afdef6f
move some toplevel example folders to PACKAGES, sync README and Examp…
akohlmey Aug 29, 2026
e9e6ef7
fix a whole bunch of spelling errors in the documentation
akohlmey Aug 29, 2026
f10b24a
fix spelling
akohlmey Aug 29, 2026
2182306
purge spelling errors for the false positives list
akohlmey Aug 29, 2026
0c441f8
speed up collecting contributor names from the git log by disabling t…
akohlmey Aug 29, 2026
65ca03b
fix spelling
akohlmey Aug 29, 2026
73b110d
update Bibliography.rst: add missing Whitlock entries, drop stale Sao…
akohlmey Aug 29, 2026
2df06d6
require --root argument
akohlmey Aug 29, 2026
bbff1a1
remove obsolete doc converters package, keep rst_anchor_check as stan…
akohlmey Aug 29, 2026
26fbb57
KOKKOS: match Region::match()/surface() coordinate remapping on device
stanmoore1 Aug 29, 2026
a06c0e2
KOKKOS: claim the per-atom buck energy and retire stale topology claims
stanmoore1 Aug 29, 2026
fe5b095
Merge branch 'develop' into collected-small-changes
akohlmey Aug 29, 2026
e9c3eda
KOKKOS: correct energy accounting in fix addforce/kk, efield/kk and s…
stanmoore1 Aug 29, 2026
b05af83
update version strings
akohlmey Aug 19, 2026
2e4375c
update / correct some URLs
akohlmey Aug 30, 2026
fd60446
update bundled LAMMPS sphinx theme to be based on sphinx_rtd_theme 3.1.0
akohlmey Aug 30, 2026
d9fa782
prepare base region classes for KOKKOS ports
akohlmey Aug 30, 2026
3a7f76a
remap positions into the periodic box in region block/kk and sphere/kk
akohlmey Aug 30, 2026
64bc769
port region styles cylinder, plane, cone, and prism to KOKKOS
akohlmey Aug 30, 2026
3dc8e26
accept any KOKKOS-enabled region style in region-capable KOKKOS fixes
akohlmey Aug 30, 2026
ae3d557
add region support to fix heat/kk
akohlmey Aug 30, 2026
424e8f1
port fix wall/harmonic/outside and computes erotate/sphere/atom + tem…
akohlmey Aug 30, 2026
9380524
add OpenMP variants of computes composition/atom and contact/atom
akohlmey Aug 30, 2026
b4967f2
sync compute ave/sphere/atom/omp with its base class
akohlmey Aug 30, 2026
411560d
fix division by zero in compute hexorder/atom with nnn = NULL
akohlmey Aug 30, 2026
24039c6
fix two silent errors in fix gravity/omp
akohlmey Aug 30, 2026
2ca1338
sync sphere integrator /omp variants with their base classes
akohlmey Aug 30, 2026
9e20deb
modernize two details in fix qeq/reaxff/omp
akohlmey Aug 30, 2026
6730a78
drop obsolete or redundant omp entries from skip_tests in fix tests
akohlmey Aug 30, 2026
61c2cf2
do not tally stale sub-particle force data in pair line/lj/omp and tr…
akohlmey Aug 30, 2026
7dff917
enable triclinic simulation boxes for kspace style pppm/cg/omp
akohlmey Aug 30, 2026
9cf0ac8
add pair style zero/coul and use it in the electrode kspace tests
akohlmey Aug 30, 2026
fb6c753
more move "generic" pair styles to the top block (lepton, python, table)
akohlmey Aug 30, 2026
eba1ade
regression tests: add exclusion category for property calculation dem…
akohlmey Aug 30, 2026
165d9ee
examples: make run lengths and sizes of property demo inputs overridable
akohlmey Aug 30, 2026
37e4fe9
unittest: add examples category running abbreviated property demo wor…
akohlmey Aug 30, 2026
b956feb
unittest: add fix-timestep test for fix viscosity
akohlmey Aug 30, 2026
7bae896
unittest: label the longer-running example workflow tests as slow
akohlmey Aug 30, 2026
2f05e6f
ELECTRODE: refuse run_style respa instead of silently freezing charges
akohlmey Aug 30, 2026
66be109
add regression test for pair lj/long/dipole/long torque with cut_coul…
akohlmey Aug 30, 2026
3e9a4e9
promote lessons from recent coding sessions into the agent instructio…
akohlmey Aug 31, 2026
1555ca3
add an OpenMP porting and audit guide to the agent dev-docs
akohlmey Aug 31, 2026
a9dacf7
oxdna2/dh: avoid reading uninitialised id3p/id5p in coeff()
akohlmey Jun 27, 2026
cd33206
BOCS/ldd: fix memory leak on repeated pair_coeff in pair style ldd
akohlmey Jun 27, 2026
b2e01c5
Merge branch 'develop' into kk_bugfixes
stanmoore1 Aug 31, 2026
c34cb6e
STUBS: add MPI_STATUSES_IGNORE
stanmoore1 Aug 31, 2026
e12884f
Merge KOKKOS per-atom energy/virial and region contact-list fixes
stanmoore1 Aug 31, 2026
d636174
KOKKOS: size neighbor bins from actual occupancy to avoid setup blowup
stanmoore1 Aug 31, 2026
fc2cf8c
KOKKOS PACE: fall back to global scratch when shared memory is exceeded
stanmoore1 Aug 26, 2026
67252d2
port basic KSpace model tests from lammps-testing repo to C++ unittes…
akohlmey Aug 31, 2026
9aae4b1
docs: refresh the KOKKOS porting backlog from an exhaustive scan
stanmoore1 Aug 28, 2026
c1d83d6
KOKKOS: port min_style sd and quickmin
stanmoore1 Aug 28, 2026
3db8f86
KOKKOS: port regions plane, prism, cylinder, cone and ellipsoid
stanmoore1 Aug 28, 2026
b7def44
KOKKOS: port six small fixes
stanmoore1 Aug 28, 2026
23043a0
KOKKOS: port fix addtorque/atom and settorque/atom
stanmoore1 Aug 28, 2026
3febf35
docs: record what of Tier 1 has landed in the KOKKOS backlog
stanmoore1 Aug 28, 2026
49c4b7f
KOKKOS: port the last five Tier 1 fixes
stanmoore1 Aug 28, 2026
d8865d6
KOKKOS: port the eight FEP soft-core pair styles
stanmoore1 Aug 28, 2026
7a719c2
KOKKOS: port seven CORESHELL /cs pair styles
stanmoore1 Aug 28, 2026
00a6ef0
Fix missing special-bond factor on the energy of pair lj/smooth/linear
stanmoore1 Aug 28, 2026
23ff94c
KOKKOS: port eight remaining Tier 1 pair styles
stanmoore1 Aug 28, 2026
96f9d8a
KOKKOS: port sw/mod, tersoff/mod/c, gran/hooke and gran/hertz/history
stanmoore1 Aug 28, 2026
4c781af
KOKKOS: port bond style table and angle style table
stanmoore1 Aug 28, 2026
a666637
KOKKOS: port dihedral style table and table/cut
stanmoore1 Aug 28, 2026
ed800e3
KOKKOS: port seven computes
stanmoore1 Aug 28, 2026
b6d66a4
Update the KOKKOS porting backlog for the finished Tier 1 pass
stanmoore1 Aug 28, 2026
09bbf99
KOKKOS: reset max_same when the atom map is deleted
stanmoore1 Aug 31, 2026
93a3f68
doc: add the KOKKOS Tier-1 verification decks
stanmoore1 Aug 28, 2026
f09c4cf
KOKKOS: fix four host/device coherence defects found with KOKKOS_DEBU…
stanmoore1 Aug 28, 2026
bbbe821
doc: add two-rank passes to the KOKKOS Tier-1 verification driver
stanmoore1 Aug 28, 2026
97df8d8
doc: add a poison-mode pass to the KOKKOS Tier-1 verification driver
stanmoore1 Aug 29, 2026
c7d9bbf
doc: add the package preset and build recipes for the KOKKOS Tier-1 d…
stanmoore1 Aug 29, 2026
67206b0
KOKKOS: take the kk_bugfixes wording for the fixes both branches carry
stanmoore1 Aug 31, 2026
f51d56f
KOKKOS: fix host/device coherence and precision issues found in review
stanmoore1 Aug 31, 2026
5794378
KOKKOS: run fix addtorque/group/kk group reductions on the device
stanmoore1 Aug 31, 2026
9bdcad4
KOKKOS: sync to the host before min fire/kk writes output
stanmoore1 Aug 31, 2026
050be9c
size the SNAP beta and ninside arrays by the chunk, not the whole ato…
stanmoore1 Aug 31, 2026
5d12962
correct the beta and ninside member comments to say chunk, not list
stanmoore1 Aug 31, 2026
b521d83
update documentation
akohlmey Aug 31, 2026
0db9b14
Merge pull request #5159 from akohlmey/check-format-strings
akohlmey Aug 31, 2026
00dbc72
reject a SNAP chunk size whose arrays cannot be indexed
stanmoore1 Aug 31, 2026
8cb0dd8
Merge pull request #5161 from akohlmey/collected-small-changes
akohlmey Aug 31, 2026
a2ce196
Merge pull request #5163 from akohlmey/openmp-ports-and-audit
akohlmey Aug 31, 2026
5dcef5d
Merge branch 'develop' of github.com:lammps/lammps into kk_update_5.2
stanmoore1 Aug 31, 2026
eb34fc9
Merge branch 'claude/kokkos-view-widening-0tuayi' of github.com:stanm…
stanmoore1 Aug 31, 2026
37d9742
KOKKOS ACE: add per-kernel/per-architecture team-size tuning constant…
stanmoore1 Aug 31, 2026
f616a49
KOKKOS ACE: store A_sph and weights as separate real/imaginary arrays…
stanmoore1 Aug 31, 2026
c4033a2
KOKKOS ACE: de-duplicate ComputeDerivative radial loop (Stage 3)
stanmoore1 Aug 31, 2026
2ac51ee
KOKKOS ACE: avoid pow() for integer exponents in hot paths (GPU)
stanmoore1 Aug 31, 2026
4bad15c
KOKKOS ACE: fold weights zeroing into ComputeFS first-touch (Stage 4b)
stanmoore1 Aug 31, 2026
d251bf0
KOKKOS ACE: drop full A array; read A_sph with conjugate symmetry in …
stanmoore1 Aug 31, 2026
92f065e
KOKKOS ACE: spline writes fr/dfr directly (drop d_values transpose copy)
stanmoore1 Aug 31, 2026
7230e11
KOKKOS ACE: eliminate dB_flatten; recompute leave-one-out products in…
stanmoore1 Aug 31, 2026
46e7524
KOKKOS ACE: fuse ComputeRadial into ComputeAi (drop a kernel launch)
stanmoore1 Aug 31, 2026
46b8b1d
KOKKOS: remove silent fp32/fp64 conversions in the newly ported styles
stanmoore1 Aug 31, 2026
fb8f19f
Merge remote-tracking branch 'upstream/develop' into claude/kokkos-po…
stanmoore1 Aug 31, 2026
ccb7997
use 64-bit index views for the SNAP zlist and CPU u arrays
stanmoore1 Aug 31, 2026
33714f7
KOKKOS PACE: fall back to global scratch when shared memory is exceeded
stanmoore1 Aug 31, 2026
5a2bd35
KOKKOS: run the pace/kk product evaluator on CPU backends
stanmoore1 Aug 31, 2026
9d4d2b9
KOKKOS: CPU-backend kernels for pace/kk (dual host/device layouts)
stanmoore1 Aug 31, 2026
34629ff
Merge pull request #5152 from akohlmey/cmake-google-test-updates
akohlmey Aug 31, 2026
7048d17
Merge branch 'claude/kokkos-view-widening-0tuayi' of github.com:stanm…
stanmoore1 Aug 31, 2026
7ee0c14
Merge pull request #5165 from akohlmey/exclude-property-demo-examples
akohlmey Aug 31, 2026
751e53e
Merge pull request #5171 from akohlmey/collected-small-fixes
akohlmey Aug 31, 2026
b0bca19
Merge branch 'develop' into compute-frenkel
akohlmey Aug 31, 2026
f8fd46c
Merge branch 'develop' into more-kokkos-porting
akohlmey Aug 31, 2026
95c2f80
Merge branch 'develop' into kk_update_5.2
akohlmey Aug 31, 2026
acb0966
KOKKOS: fix eatom/vatom double free in ~PairPACEKokkos on CPU backends
stanmoore1 Aug 31, 2026
9f387d7
KOKKOS: fall back gracefully for pace/kk cases without CPU kernels
stanmoore1 Aug 31, 2026
ace182e
Fix verbose comment
stanmoore1 Aug 31, 2026
87281c7
Update statements about site_file format and reflow paragraphs.
akohlmey Aug 31, 2026
a77385e
Merge pull request #5028 from akohlmey/compute-frenkel
akohlmey Aug 31, 2026
622def1
KOKKOS: fix view layout mismatches in the newly ported styles
stanmoore1 Sep 1, 2026
0d84c14
KOKKOS: use Kokkos::fmin for the min fire timestep limit
stanmoore1 Sep 1, 2026
38f9554
KOKKOS: push the per-type masses to the device in min fire
stanmoore1 Sep 1, 2026
ed8eaa5
KOKKOS: make min fire's dtv a double, it receives an MPI_DOUBLE reduc…
stanmoore1 Sep 1, 2026
5616787
link missing potential file
akohlmey Sep 1, 2026
990dfc6
restore original input and log for in.dsring2 inputs, keep typo fix, …
akohlmey Sep 1, 2026
a5e7cc7
skip some more production runs with timeouts and missing feature abort
akohlmey Sep 1, 2026
7aacf60
Merge branch 'develop' into next-release
akohlmey Sep 1, 2026
17d6f78
update a few more version tags
akohlmey Sep 1, 2026
19de3c9
fix typo
akohlmey Sep 1, 2026
0889fdb
virtual and override together is redundant
akohlmey Sep 1, 2026
6ac582a
update external library version for ML-RUNNER package
akohlmey Sep 1, 2026
2ddd407
drop UPDATE_DISCONNECTED as it does not work as expected
akohlmey Sep 1, 2026
4f50a60
fix off-by-one bug in compute spin and fix nve/spin
akohlmey Sep 1, 2026
8e41e9e
update example and logs
akohlmey Sep 1, 2026
634aff8
avoid 32-bit integer overflow when computing memory use
akohlmey Sep 1, 2026
b12f560
KOKKOS: fix dump_modify pbc yes with a triclinic box
stanmoore1 Aug 31, 2026
b183a7f
fix widom full energy is not compatible with molecules in parallel
akohlmey Sep 1, 2026
b31ae3d
clear lists on allocation to avoid uninitialized access
akohlmey Sep 1, 2026
b5486dd
no point in updating the special bonds if we have not even created ne…
akohlmey Sep 1, 2026
21e7b4b
Merge branch 'more-kokkos-porting' of github.com:stanmoore1/lammps in…
stanmoore1 Sep 1, 2026
cc392c8
Merge branch 'develop' of github.com:lammps/lammps into more-kokkos-p…
stanmoore1 Sep 1, 2026
a063b3d
no point in updating the special bonds if we have not even created ne…
akohlmey Sep 1, 2026
752142f
fix off-by-one bug in compute spin and fix nve/spin
akohlmey Sep 1, 2026
e6fd183
Merge branch 'more-kokkos-porting' of github.com:lammps/lammps into m…
stanmoore1 Sep 1, 2026
30f6a06
Update kokkos-packages.cmake preset file
stanmoore1 Sep 1, 2026
b2defd1
Merge pull request #4989 from lammps/more-kokkos-porting
akohlmey Sep 1, 2026
9233395
flag as unstable to pass unit tests on ARM64
akohlmey Sep 1, 2026
69eac2c
Merge remote-tracking branch 'origin/develop' into claude/kokkos-view…
stanmoore1 Sep 1, 2026
100084b
Revert "KOKKOS PACE: fall back to global scratch when shared memory i…
stanmoore1 Sep 1, 2026
320a031
explicitly avoid branching with constexpr
alphataubio May 6, 2026
5e1c3c1
Kokkos::fma for fp32 performance and numerical stability
alphataubio May 8, 2026
2f6fe86
update previously useless unit tests
alphataubio May 8, 2026
51ad0a1
add unit test to replicate issues #4923 and #4940
alphataubio May 9, 2026
e369979
tests: make the dump_modify pbc yes test detect the bug it is named a…
stanmoore1 Sep 1, 2026
ed47fe0
use 64-bit index views for the two newly ported short neighbor lists
stanmoore1 Sep 1, 2026
72ce0b1
enforce disabling legacy views with Kokkos 5.2.x
akohlmey Sep 1, 2026
cff7722
KOKKOS: explain why only the mask is synced in the detached pbc() path
stanmoore1 Sep 1, 2026
6eb3a5b
Merge branch 'develop' into kk_bugfixes
stanmoore1 Sep 1, 2026
75a7ed9
KOKKOS PACE: accept and ignore the neigh keyword without the KOKKOS p…
stanmoore1 Sep 1, 2026
8da0b4b
KOKKOS: stop read_restart() from shadowing the coefficient dual views
stanmoore1 Sep 1, 2026
b24d135
tests: run the dump_modify pbc yes test in CI and in every KOKKOS config
stanmoore1 Sep 1, 2026
4611f65
Merge pull request #5174 from stanmoore1/ace-opt
akohlmey Sep 1, 2026
8cc20ad
KOKKOS: let a dual view be indexed with 64-bit arithmetic
stanmoore1 Sep 1, 2026
1c99065
use 64-bit index dual views for neighbor history and MLIAP
stanmoore1 Sep 1, 2026
31d1c4e
Merge branch 'develop' into collected-small-changes
akohlmey Sep 1, 2026
5747fa6
remove dead code
akohlmey Sep 1, 2026
aebb66f
Merge branch 'develop' into next-release
akohlmey Sep 1, 2026
fe22d46
expand TBD
akohlmey Sep 1, 2026
ee4fd54
Merge branch 'develop' into kk_bugfixes
stanmoore1 Sep 1, 2026
fa275ab
KOKKOS: review fixes for nbin, shake statistics, force_clear and respa
stanmoore1 Sep 1, 2026
7ae51b7
move release candidate to 2 Sep 2026
akohlmey Sep 1, 2026
0ed8a1b
KOKKOS PACE: compile and copy correctly in single and mixed precision
stanmoore1 Sep 1, 2026
67d8640
let a TransformView wrap a dual view with 64-bit indexing
stanmoore1 Sep 1, 2026
8be1467
widen the per-atom arrays that overflow at 250 million atoms per rank
stanmoore1 Sep 1, 2026
ecd9f1d
Merge branch 'claude/kokkos-view-widening-0tuayi' into kk_update_5.2
stanmoore1 Sep 2, 2026
6fe824f
exclude some input causing errors in parallel due to code limits
akohlmey Sep 2, 2026
cc84fab
spelling
akohlmey Sep 2, 2026
2acf056
don't attempt to compile LEPTON JIT files for ARM64. We only enable i…
akohlmey Sep 2, 2026
d2e3120
make static pack functions inline
akohlmey Sep 2, 2026
7159146
comment out unused parameter names in no-op AtomVecKokkos bonus stubs
akohlmey Sep 2, 2026
076fa2a
silence deprecation warning
akohlmey Sep 2, 2026
b210e4c
accept suffixed versions of body pair styles
akohlmey Sep 2, 2026
c699a8f
skip inputs incompatible with OPENMP package
akohlmey Sep 2, 2026
1ba4ba7
increase timeouts
akohlmey Sep 2, 2026
a28bf7f
drop the workaround markers from the 64-bit dual view declarations
stanmoore1 Sep 2, 2026
20f0524
Remove comment
stanmoore1 Sep 2, 2026
bfb4395
KOKKOS: fix the first batch of confirmed sweep findings
stanmoore1 Sep 2, 2026
daabd03
KOKKOS: fix the second batch of confirmed sweep findings
stanmoore1 Sep 2, 2026
080bd02
revert the 64-bit view indexing work back to e347472
stanmoore1 Sep 2, 2026
a0f83a9
force the legacy Kokkos views on and the deprecation warnings off
stanmoore1 Sep 2, 2026
cedcbda
size the SNAP beta and ninside arrays by the chunk, not the whole ato…
stanmoore1 Sep 2, 2026
5f09605
document Kokkos_ENABLE_IMPL_CUDA_UNIFIED_MEMORY as the replacement fo…
stanmoore1 Sep 2, 2026
45a845a
stop the configure step when the removed Kokkos_ENABLE_CUDA_UVM optio…
stanmoore1 Sep 2, 2026
b45d3ca
KOKKOS: fix the plausible sweep findings that are cheap and safe
stanmoore1 Sep 2, 2026
329c06e
updates for oneapi/sycl
Sep 2, 2026
9ffae6f
Merge pull request #5149 from stanmoore1/kk_update_5.2
akohlmey Sep 2, 2026
2e28f3b
Merge branch 'develop' of github.com:lammps/lammps into kk_bugfixes
stanmoore1 Sep 2, 2026
d9e7425
KOKKOS: sum the sub-style forces of pair hybrid/scaled on the device
stanmoore1 Sep 2, 2026
1e6c375
KOKKOS: decide in the package whether run_style respa can be used
stanmoore1 Sep 2, 2026
d25b4df
Merge pull request #5150 from stanmoore1/kk_bugfixes
akohlmey Sep 2, 2026
364b0e1
Merge branch 'develop' into collected-small-changes
akohlmey Sep 2, 2026
3a87b51
KOKKOS: pack fix spring/self/kk exchange data only in the final scan …
akohlmey Sep 2, 2026
1bec57a
tests: finalize the KOKKOS package before the dump_modify pbc test exits
stanmoore1 Sep 2, 2026
3c7214d
Reduce comment verbosity
stanmoore1 Sep 2, 2026
7f8b457
spelling
akohlmey Sep 2, 2026
8a13ee7
recover proper timestamp ordering when extracting libraries with GNU …
akohlmey Sep 2, 2026
e3d381d
refactor handling of downloaded URLs and their checksums
akohlmey Sep 2, 2026
3c6b921
Merge branch 'collected-small-changes' of github.com:akohlmey/lammps …
akohlmey Sep 3, 2026
ea19b1e
apply patch for version 1.4.0
akohlmey Sep 3, 2026
a899afc
update external PACE library to latest release
akohlmey Sep 3, 2026
8f283e3
Merge pull request #5175 from akohlmey/collected-small-changes
akohlmey Sep 3, 2026
e087463
Merge branch 'develop' into next-release
akohlmey Sep 3, 2026
2977131
update a few more version tags
akohlmey Sep 3, 2026
d71abe6
Merge pull request #5140 from akohlmey/next-release
akohlmey Sep 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,9 @@ platform, style, and regression workflows.
`src/` and the corresponding `make fix-*`; build failures -> check for `-S cmake`,
package dependencies, and VLA usage; unit tests -> rerun the single test with
`ctest -V -R <name>`; regression tests -> verify the Python environment and whether
example inputs were modified.
example inputs were modified. A unit-test failure on only ONE Linux CI job is
usually the `LAMMPS_SIZES=bigbig` configuration (64-bit `tagint`) -- reproduce with
a minimal bigbig build first (see the testing guide) before suspecting anything else.

## Repository Structure

Expand Down Expand Up @@ -244,6 +246,7 @@ automatically: read them before starting the corresponding kind of work.
|---|---|
| `src/KOKKOS/` styles (rules, policies) | `.github/instructions/kokkos.instructions.md` (auto) |
| porting a style to KOKKOS | `.github/dev-docs/kokkos-porting-guide.md` + `kokkos-porting-backlog.md` |
| porting/auditing `src/OPENMP/` (`/omp`) styles | `.github/dev-docs/openmp-porting.md` |
| granular/DEM code or tests | `.github/instructions/granular-tests.instructions.md` (auto) |
| documentation (`doc/`) | `.github/instructions/documentation.instructions.md` (auto) |
| force-style YAML tests (`unittest/`) | `.github/instructions/force-style-tests.instructions.md` (auto) |
Expand Down
477 changes: 393 additions & 84 deletions .github/dev-docs/kokkos-porting-backlog.md

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions .github/dev-docs/kokkos-porting-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -609,6 +609,13 @@ capturer can exist at a time" failure -- the drivers echo each captured section
completes, so the last echoed line pinpoints where the throw escaped. A style with no
`/kk` variant that cannot run under VerletKokkos needs `skip_tests: kokkos_gpu` in YAML.

Mixed precision is a separate validation target per backend: a style that passes the
mixed-precision fixtures in a HOST-only KOKKOS build can still produce NaNs on a GPU
build when intermediate float-range limits are hit (class example: `exp()` of a large
positive argument overflows in `float` -- reaxff/kk). Run the `kokkos_gpu_mixed`
fixture on a real device before declaring mixed-precision support clean; if a style is
numerically unfit for single/mixed, add the corresponding `skip_tests` entries instead.

## KOKKOS test build

```bash
Expand Down
1 change: 1 addition & 0 deletions .github/dev-docs/kokkos-tier1-verification/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
out/
81 changes: 81 additions & 0 deletions .github/dev-docs/kokkos-tier1-verification/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# KOKKOS Tier-1 verification decks

Hand-written input decks that exercise every style ported to KOKKOS in the
Tier-1 pass, for styles whose behavior the `unittest/force-styles` YAML
fixtures do not cover (fixes, computes, regions, minimizers, granular pair
styles) and, as a second opinion, for those they do.

The point of running them is that the `package kokkos` defaults are not the
settings a GPU run gets. Without a GPU, LAMMPS defaults to `comm no`,
`sort no`, `atom/map no`, `neigh half`, `newton on` and `gpu/aware off`,
which routes around the device communication, sorting and atom-map paths.
`run_checks.sh` therefore drives every KOKKOS run with

-pk kokkos neigh full newton off comm device sort device atom/map device gpu/aware on

which is what a GPU build would pick, and falls back to `neigh half newton on`
(third field of a `CASES` line) for the styles that require a half neighbor
list.

## Building

`tier1-packages.cmake` turns on the packages these decks need and nothing
else. The two executables the passes below want, from the top of the
repository:

cmake -S cmake -B build-sync -G Ninja \
-C .github/dev-docs/kokkos-tier1-verification/tier1-packages.cmake \
-D PKG_KOKKOS=on -D Kokkos_ENABLE_SERIAL=on -D BUILD_MPI=on \
-D CMAKE_BUILD_TYPE=Release -D KOKKOS_DEBUG_SYNC=on \
-D BUILD_SHARED_LIBS=on -D DOWNLOAD_POTENTIALS=off -D ENABLE_TESTING=on

cmake -S cmake -B build-poison -G Ninja \
-C .github/dev-docs/kokkos-tier1-verification/tier1-packages.cmake \
-D PKG_KOKKOS=on -D Kokkos_ENABLE_SERIAL=on -D BUILD_MPI=on \
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
-D KOKKOS_DEBUG_SYNC=on -D KOKKOS_DEBUG_SYNC_ASAN=on \
-D BUILD_SHARED_LIBS=on -D DOWNLOAD_POTENTIALS=off

`step0` and `mpi` only compare styles against each other and run in any
build; the detector passes need `build-sync`, and `poison` needs
`build-poison`.

## Usage

./run_checks.sh step0 # thermo: plain CPU styles vs KOKKOS styles, same binary
./run_checks.sh detect # LMP_KOKKOS_WATCH / LMP_KOKKOS_STALE detectors
./run_checks.sh mpi # step0 again under two MPI ranks
./run_checks.sh detect_mpi # detect again under two MPI ranks
./run_checks.sh poison # LMP_KOKKOS_POISON, needs the ASan build

`step0` runs each deck twice from the same executable, once with the plain
styles and once with `-sf kk`, and compares every thermo column with
`cmp.py`. A column is equal when `|a-b| <= 1e-8 + 1e-6*max(|a|,|b|)`; the
reported number is the ratio to that tolerance, so anything above 1.0 fails.

The `mpi` and `detect_mpi` passes repeat the same cases under
`mpirun -np 2`, which is what exercises the exchange and border
communication; `MPIRUN` can be overridden in the environment.

`detect` needs an executable built with `-D KOKKOS_DEBUG_SYNC=on`; see
`../kokkos-sync-debugging.md` for what the reports mean and for the
poison-mode build that pinpoints a stale access. `poison` runs that build
(`build-poison/lmp`, or `POISON_LMP`) with `LMP_KOKKOS_POISON=1`, which
makes the non-current side of every view unreadable so AddressSanitizer
stops at the offending instruction; it is the only detector that sees a
read through a plain pointer. Judge its output by
diffing the reported labels (array plus the routine that touched it)
against a run of a style of the same shape that is known to be clean, not
by their absolute number: the KOKKOS infrastructure reports a fixed set of
labels for every input. `LMP` and `OUT` can be set in the environment;
`LMP` defaults to `build-sync/lmp` at the top of the repository.

## Layout

`common_lj.mod` (LJ melt), `common_sphere.mod` (sphere-style melt) and
`mol_head.mod` (`data.fourmol`, read from `unittest/force-styles/tests`) are
the shared setups; each `in.*` deck includes one of them and cycles through a
family of styles with an index variable, so one deck covers a whole work
package. `common_lj.mod` leaves the boundary in an index variable `bnd` so a
deck that needs a non-periodic or shrink-wrapped z can set it before the
include.
40 changes: 40 additions & 0 deletions .github/dev-docs/kokkos-tier1-verification/cmp.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/usr/bin/env python3
"""Compare the thermo rows of two LAMMPS screen dumps.

A column is considered equal when |a-b| <= ATOL + RTOL*max(|a|,|b|). The
absolute term matters: several decks print quantities that sit at round-off
around zero (a constraint force that should cancel, the fmax of a converged
minimization), where a pure relative test reports a huge difference for an
absolute difference of 1e-16. The reported number is the ratio to that
tolerance, so 1.0 is exactly at the limit and anything above it fails.
"""
import sys, re, math

ATOL = 1.0e-8
RTOL = 1.0e-6

num = re.compile(r'^\s*\d+((\s+-?(\d+\.?\d*|nan|inf)([eE][-+]?\d+)?){2,})\s*$')

def rows(f):
out = []
try: lines = open(f, errors="replace")
except OSError: return out
for line in lines:
if "%" in line or "CPU" in line: continue
if num.match(line): out.append([float(x) for x in line.split()])
return out

a, b, label = rows(sys.argv[1]), rows(sys.argv[2]), sys.argv[3]
if not a or not b:
print("%-46s %-12s %s" % (label, "NO-OUTPUT", "cpu=%d kk=%d rows" % (len(a), len(b)))); sys.exit()
if len(a) != len(b):
print("%-46s %-12s %s" % (label, "ROWMISMATCH", "cpu=%d kk=%d" % (len(a), len(b)))); sys.exit()
m = 0.0; nan = 0
for ra, rb in zip(a, b):
for u, v in zip(ra, rb):
if math.isnan(u) or math.isnan(v):
if not (math.isnan(u) and math.isnan(v)): nan += 1
continue
m = max(m, abs(u - v) / (ATOL + RTOL * max(abs(u), abs(v))))
verdict = "OK" if (m <= 1.0 and nan == 0) else "DIVERGED"
print("%-46s %-12s %.3e%s" % (label, verdict, m, " nan-mismatch=%d" % nan if nan else ""))
17 changes: 17 additions & 0 deletions .github/dev-docs/kokkos-tier1-verification/common_lj.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# shared LJ melt setup used by the fix/compute/region decks
units lj
atom_style atomic
atom_modify map array
variable bnd index "p p p"
boundary ${bnd}
lattice fcc 0.8442
region box block 0 8 0 8 0 8
create_box 2 box
create_atoms 1 box
mass * 1.0
set group all type/fraction 2 0.35 5738
velocity all create 1.2 87287 loop geom
pair_style lj/cut 2.5
pair_coeff * * 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
15 changes: 15 additions & 0 deletions .github/dev-docs/kokkos-tier1-verification/common_sphere.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
units lj
atom_style sphere
atom_modify map array
lattice fcc 0.8442
region box block 0 8 0 8 0 8
create_box 1 box
create_atoms 1 box
variable dia index 1.0
variable den index 1.0
set group all diameter ${dia} density ${den}
velocity all create 1.2 87287 loop geom
pair_style lj/cut 2.5
pair_coeff * * 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
24 changes: 24 additions & 0 deletions .github/dev-docs/kokkos-tier1-verification/in.asphere
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
units lj
atom_style hybrid ellipsoid dipole
atom_modify map array
lattice sc 0.4
region box block 0 6 0 6 0 6
create_box 1 box
create_atoms 1 box
set group all mass 1.0
set group all shape 1.0 0.7 0.5
set group all quat/random 18238
set group all dipole/random 98347 1.0
velocity all create 1.0 87287 loop geom
pair_style lj/cut 2.5
pair_coeff * * 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
compute q all property/atom quatw quati quatj quatk
fix 1 all nve/asphere/noforce
fix at all addtorque/atom 0.01 0.02 0.03
fix st all settorque/atom 0.0 0.0 0.05
fix ps all propel/self dipole 0.05
thermo_style custom step temp pe ke etotal press
thermo 5
run 20 post no
36 changes: 36 additions & 0 deletions .github/dev-docs/kokkos-tier1-verification/in.bonded
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
variable tdir index ../../../unittest/force-styles/tests
units real
atom_style full
atom_modify map array
pair_style zero 10.0
bond_style zero
angle_style zero
dihedral_style zero
improper_style zero
read_data ${tdir}/data.fourmol
pair_style lj/cut 8.0
pair_coeff * * 0.02 3.0
variable ts index linear
bond_style table ${ts} 1000
bond_coeff 1 ${tdir}/bond_table.txt harmonic_1
bond_coeff 2 ${tdir}/bond_table.txt harmonic_2
bond_coeff 3 ${tdir}/bond_table.txt harmonic_3
bond_coeff 4 ${tdir}/bond_table.txt harmonic_4
bond_coeff 5 ${tdir}/bond_table.txt harmonic_5
angle_style table ${ts} 1000
angle_coeff 1 ${tdir}/angle_table.txt harmonic_1
angle_coeff 2 ${tdir}/angle_table.txt harmonic_2
angle_coeff 3 ${tdir}/angle_table.txt harmonic_3
angle_coeff 4 ${tdir}/angle_table.txt harmonic_4
dihedral_style table ${ts} 3600
dihedral_coeff 1 ${tdir}/harmonic_dihedral.txt HARMONIC_1
dihedral_coeff 2 ${tdir}/harmonic_dihedral.txt HARMONIC_2
dihedral_coeff 3 ${tdir}/harmonic_dihedral.txt HARMONIC_3
dihedral_coeff 4 ${tdir}/harmonic_dihedral.txt HARMONIC_4
dihedral_coeff 5 ${tdir}/harmonic_dihedral.txt HARMONIC_5
neighbor 2.0 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
thermo_style custom step temp pe ebond eangle edihed press
thermo 5
run 20 post no
25 changes: 25 additions & 0 deletions .github/dev-docs/kokkos-tier1-verification/in.bonded_cut
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
variable tdir index ../../../unittest/force-styles/tests
units real
atom_style full
atom_modify map array
pair_style zero 10.0
bond_style zero
angle_style zero
dihedral_style zero
improper_style zero
read_data ${tdir}/data.fourmol
pair_style lj/cut 8.0
pair_coeff * * 0.02 3.0
variable ts index linear
dihedral_style table/cut ${ts} 3600
dihedral_coeff 1 aat 1.00 170 180 ${tdir}/harmonic_dihedral.txt HARMONIC_1
dihedral_coeff 2 aat 1.00 170 180 ${tdir}/harmonic_dihedral.txt HARMONIC_2
dihedral_coeff 3 aat 0.50 175 180 ${tdir}/harmonic_dihedral.txt HARMONIC_3
dihedral_coeff 4 aat 1.00 170 180 ${tdir}/harmonic_dihedral.txt HARMONIC_4
dihedral_coeff 5 aat 0.25 170 175 ${tdir}/harmonic_dihedral.txt HARMONIC_5
neighbor 2.0 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
thermo_style custom step temp pe edihed press
thermo 5
run 20 post no
21 changes: 21 additions & 0 deletions .github/dev-docs/kokkos-tier1-verification/in.computes
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
include common_lj.mod
fix 1 all nve
group half type 1
compute ke1 all ke
compute ke2 half ke
compute com1 all com
compute com2 half com
compute in1 all inertia
compute gy1 all gyration
compute gyt half gyration
compute ce1 all centro/atom fcc
compute ce2 all centro/atom fcc axes yes
compute hx1 all hexorder/atom
compute en1 all entropy/atom 0.1 2.0
compute sce all reduce sum c_ce1
compute shx all reduce sum c_hx1[1]
compute sen all reduce sum c_en1
thermo_style custom step c_ke1 c_ke2 c_com1[1] c_com2[3] c_in1[1] c_in1[4] &
c_gy1 c_gyt[1] c_sce c_shx c_sen
thermo 5
run 20 post no
29 changes: 29 additions & 0 deletions .github/dev-docs/kokkos-tier1-verification/in.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
include mol_head.mod
variable ps index coul/long/cs
if "${ps} == coul/long/cs" then "pair_style ${ps} 9.0" &
elif "${ps} == coul/wolf/cs" "pair_style ${ps} 0.2 9.0" &
elif "${ps} == born/coul/wolf/cs" "pair_style ${ps} 0.2 9.0 9.0" &
elif "${ps} == born/coul/dsf/cs" "pair_style ${ps} 0.1 9.0 9.0" &
elif "${ps} == born/coul/dsf" "pair_style ${ps} 0.1 9.0 9.0" &
elif "${ps} == born/coul/long/cs" "pair_style ${ps} 9.0 9.0" &
elif "${ps} == buck/coul/long/cs" "pair_style ${ps} 9.0 9.0" &
elif "${ps} == lj/cut/coul/long/cs" "pair_style ${ps} 9.0 9.0" &
else "pair_style ${ps} 9.0 9.0"
if "${ps} == coul/long/cs" then "pair_coeff * *" &
elif "${ps} == coul/wolf/cs" "pair_coeff * *" &
elif "${ps} == born/coul/wolf/cs" "pair_coeff * * 1.0 0.3 0.0 1.0 0.5" &
elif "${ps} == born/coul/dsf/cs" "pair_coeff * * 1.0 0.3 0.0 1.0 0.5" &
elif "${ps} == born/coul/dsf" "pair_coeff * * 1.0 0.3 0.0 1.0 0.5" &
elif "${ps} == born/coul/long/cs" "pair_coeff * * 1.0 0.3 0.0 1.0 0.5" &
elif "${ps} == buck/coul/long/cs" "pair_coeff * * 100.0 0.3 10.0" &
elif "${ps} == lj/class2/coul/long/cs" "pair_coeff * * 0.02 3.0" &
else "pair_coeff * * 0.02 3.0"
if "${ps} == coul/long/cs" then "kspace_style ewald 1.0e-6" &
elif "${ps} == born/coul/long/cs" "kspace_style ewald 1.0e-6" &
elif "${ps} == buck/coul/long/cs" "kspace_style ewald 1.0e-6" &
elif "${ps} == lj/cut/coul/long/cs" "kspace_style ewald 1.0e-6" &
elif "${ps} == lj/class2/coul/long/cs" "kspace_style ewald 1.0e-6"
fix 1 all nve
thermo_style custom step temp pe evdwl ecoul elong press
thermo 5
run 20 post no
21 changes: 21 additions & 0 deletions .github/dev-docs/kokkos-tier1-verification/in.fep
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
include mol_head.mod
variable ps index lj/cut/soft
if "${ps} == coul/cut/soft" then "pair_style ${ps} 1 10.0 9.0" &
elif "${ps} == coul/long/soft" "pair_style ${ps} 1 10.0 9.0" &
elif "${ps} == morse/soft" "pair_style ${ps} 4 0.9 10.0" &
elif "${ps} == lj/class2/soft" "pair_style ${ps} 2 0.5 10.0" &
elif "${ps} == lj/cut/coul/cut/soft" "pair_style ${ps} 2 0.5 10.0 9.0 9.0" &
elif "${ps} == lj/cut/coul/long/soft" "pair_style ${ps} 2 0.5 10.0 9.0" &
elif "${ps} == lj/charmm/coul/long/soft" "pair_style ${ps} 2 0.5 10.0 8.0 9.0" &
else "pair_style ${ps} 2 0.5 10.0"
if "${ps} == morse/soft" then "pair_coeff * * 0.2 2.0 3.0 0.9" &
elif "${ps} == coul/cut/soft" "pair_coeff * * 0.9" &
elif "${ps} == coul/long/soft" "pair_coeff * * 0.9" &
else "pair_coeff * * 0.02 3.0 0.9"
if "${ps} == coul/long/soft" then "kspace_style ewald 1.0e-6" &
elif "${ps} == lj/cut/coul/long/soft" "kspace_style ewald 1.0e-6" &
elif "${ps} == lj/charmm/coul/long/soft" "kspace_style ewald 1.0e-6"
fix 1 all nve
thermo_style custom step temp pe evdwl ecoul elong press
thermo 5
run 20 post no
21 changes: 21 additions & 0 deletions .github/dev-docs/kokkos-tier1-verification/in.fixes
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
variable bnd index "p p f"
include common_lj.mod
fix cnf all wall/reflect zlo EDGE zhi EDGE
fix 1 all nve
fix sf all store/force
fix fg all flow/gauss 1 0 0
fix who all wall/harmonic/outside zlo 0.5 1.0 1.0 2.0 units box
thermo_style custom step temp pe ke etotal press f_fg[1]
thermo 5
run 20 post no
unfix sf
unfix fg
unfix who
unfix 1
fix 2 all nvk
thermo_style custom step temp pe ke etotal press
run 10 post no
unfix 2
fix 3 all nve
fix pv all propel/self velocity 0.02
run 10 post no
9 changes: 9 additions & 0 deletions .github/dev-docs/kokkos-tier1-verification/in.fixes_sphere
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
include common_sphere.mod
fix 1 all nve/sphere
fix dc all damping/cundall 0.1 0.1
fix vn all viscous/nonlinear 0.05 1.0
fix at all addtorque/atom 0.01 0.02 0.03
fix st all settorque/atom 0.0 0.0 0.05
thermo_style custom step temp pe ke etotal press
thermo 5
run 20 post no
Loading