Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
593 commits
Select commit Hold shift + click to select a range
d8bd1ae
adding hyperlink
jtclemm Nov 13, 2024
c06cab2
extra space
jtclemm Nov 13, 2024
9c290a0
Minor edits to workflow doc
jtclemm Nov 13, 2024
e3e502f
add note that pair_coeff settings used for fix adapt must be set expl…
akohlmey Nov 14, 2024
0f9f80a
update for fix colvars/kk
akohlmey Nov 14, 2024
74fea8a
must initialize copymode in base class
akohlmey Nov 15, 2024
0f70c52
avoid access to uninitialized per-atom data to make valgrind happy
akohlmey Nov 15, 2024
6796dc3
clang-format
akohlmey Nov 15, 2024
38d5387
move citeme call(s) to places where labelmaps are used
akohlmey Nov 15, 2024
9a096f2
update/correct code owners list
akohlmey Nov 15, 2024
cf5c428
avoid dereferencing reaxff object when no reaxff pair style in use
akohlmey Nov 15, 2024
70f4134
add unit test for qtpie/reaxff
akohlmey Nov 15, 2024
55f53f0
use utils::open_potential for gaussian exponent file
akohlmey Nov 15, 2024
ae1c565
accept qtpie/reaxff also for reaxff/omp
akohlmey Nov 15, 2024
4dd1448
support providing spring constant as equal or atom style variable
akohlmey Nov 15, 2024
72b649e
whitespace
akohlmey Nov 15, 2024
bca2c4d
add missing initializers
akohlmey Nov 15, 2024
ec129f1
error out in fix spring/self/kk with variable spring constant
akohlmey Nov 15, 2024
35f1fb9
check equal style variable evaluation for bad values
akohlmey Nov 15, 2024
b3f88da
document KOKKOS restriction of fix spring/self
akohlmey Nov 15, 2024
f7b87a2
apply special treatment for fix colvars/kk as suggested by @stanmoore1
akohlmey Nov 16, 2024
07a8806
fix typo
akohlmey Nov 17, 2024
a635f20
whitespace
akohlmey Nov 17, 2024
18329ac
avoid memory leaks
akohlmey Nov 17, 2024
48c2736
Merge pull request #4383 from akohlmey/collected-small-changes
akohlmey Nov 18, 2024
cf05700
Merge pull request #4382 from jtclemm/small-patches
akohlmey Nov 18, 2024
2ac0d06
step version strings for next release
akohlmey Oct 26, 2024
c926bfd
start documenting individual steps for a LAMMPS release
akohlmey Oct 26, 2024
c50a8d8
New release date 19 November 2024
akohlmey Nov 19, 2024
a4d8211
Re-enable SNAP CPU codepaths to simplify verifying correctness
weinbe2 Nov 19, 2024
ce92b56
Made SNAP host_flag constexpr, took advantage of if constexpr to redu…
weinbe2 Nov 19, 2024
58d7036
Added padding to non-AoSoA data structures to improve alignment
weinbe2 Nov 19, 2024
e200d55
replace static with const for compatibility with SYCL
akohlmey Nov 19, 2024
c9754e5
Added const to each of the snaKK routines; removed extra snaKK copies
weinbe2 Nov 19, 2024
e95d1de
Removed AoSoA from a/b/da/db/sfac pack
weinbe2 Nov 19, 2024
120c460
Removed AoSoA from ulisttot_[re_/im_/]_pack
weinbe2 Nov 19, 2024
2fc33f3
Removed AoSoA from [ylist_re/ylist_im/zlist/blist]
weinbe2 Nov 19, 2024
3c4a42b
Removed d_beta_pack; fully unified SNAPBeta and SNAPBetaCPU routines
weinbe2 Nov 19, 2024
e6ed911
Merge pull request #4387 from akohlmey/next_release
akohlmey Nov 19, 2024
abbcd86
Unified ylist CPU and GPU structures
weinbe2 Nov 19, 2024
cf6714e
Unified ulisttot CPU and GPU structures
weinbe2 Nov 19, 2024
cb54814
Unified zlist and blist CPU and GPU structures; greatly simplified/fu…
weinbe2 Nov 19, 2024
976167e
Greatly tightened up CPU ulist, dulist computation
weinbe2 Nov 19, 2024
277fba1
Removed unnecessary team parallelism from CPU routines; rearranged pa…
weinbe2 Nov 19, 2024
53b2930
modified dump_image.cpp, line 1100, fixed an indexing bug causing ren…
lichanghao Nov 20, 2024
8ba0d7b
more updates to release process
akohlmey Nov 20, 2024
4296db4
add link with more explanation to the illegal variable errors
akohlmey Nov 20, 2024
7259082
flag development version
akohlmey Nov 20, 2024
30349d2
correct version header
akohlmey Nov 20, 2024
457e4c0
No actual changes; this code just rearranges sna_kokkos_impl to make …
weinbe2 Nov 20, 2024
99c4d11
Flatten compute_ui_cpu and compute_duidrj_cpu into single functions
weinbe2 Nov 20, 2024
8a65f44
Unify the CPU and GPU TransformUi routines
weinbe2 Nov 20, 2024
98b67b8
Unify the CPU and GPU ComputeYi and ComputeZi routines; extend Comput…
weinbe2 Nov 20, 2024
6e54d93
Unify the CPU and GPU PreUi routines
weinbe2 Nov 20, 2024
5dcadf5
Created a simplifying abstraction to separately call host or device k…
weinbe2 Nov 20, 2024
e8e2a0b
Simplified the constuctor for SNAKokkos by passing PairSNAPKokkos in …
weinbe2 Nov 20, 2024
2d65365
Added additional parallelism to TagPairSNAPBeta
weinbe2 Nov 20, 2024
78bd717
Added a host vs device abstraction for SNAP kernel launches, greatly …
weinbe2 Nov 20, 2024
dde2c91
Refactored the beta calculation into separate linear and quadratic po…
weinbe2 Nov 20, 2024
f3221ee
Abstracted computation portion of compute_bi into a separate evaluate_bi
weinbe2 Nov 20, 2024
43fbdc2
Merge pull request #4388 from lichanghao/dump_image_bug_fix
akohlmey Nov 21, 2024
6c33383
Merge branch 'develop' into collected-small-changes
akohlmey Nov 21, 2024
67470f2
Added a (default zero) extra launch bound arg to help with ComputeYi …
weinbe2 Nov 21, 2024
28e64fc
Added templating over chemsnap for ComputeZi and ComputeBi
weinbe2 Nov 21, 2024
261abaa
Added templating over chemsnap for ComputeYi and ComputeYiWithZlist
weinbe2 Nov 21, 2024
ce6e0db
Added templating over chemsnap for evaluate_beta_scaled
weinbe2 Nov 21, 2024
e7c995a
Re-disabled SNAP Kokkos CPU path =(
weinbe2 Nov 22, 2024
10c429f
Separating background pressure from EoS definition
jtclemm Nov 22, 2024
e4683c3
typo in equation
jtclemm Nov 22, 2024
471fdf2
Typo in bond failure subscripts
jtclemm Nov 22, 2024
3f78ee7
get access to the applied external force from the fix
akohlmey Nov 25, 2024
c87e073
Merge branch 'develop' into feature/snap-unify-codepaths
stanmoore1 Nov 25, 2024
88807c6
ml-pace: allow linking to existing pace library
rbberger Nov 25, 2024
1beb4b1
Clarifying doc on arguments for coeff rest damping
jtclemm Nov 26, 2024
461dd67
Clarifying Tsuji damping doc, removing overloaded variable
jtclemm Nov 26, 2024
a420d04
Unifying desc/code for tsuji and coeff restitution
jtclemm Nov 26, 2024
6b4f82d
Resetting variables in deform/pressure init
jtclemm Nov 26, 2024
8aba26b
doc fixes
jtclemm Nov 26, 2024
09cd209
typo
jtclemm Nov 26, 2024
e9073e4
Missed changes
jtclemm Nov 26, 2024
ef4b070
fix typo
akohlmey Nov 27, 2024
7c87874
improve expanded fix external docs
akohlmey Nov 27, 2024
6102350
shorten
akohlmey Nov 27, 2024
cd16308
Merge pull request #4389 from akohlmey/collected-small-changes
akohlmey Nov 27, 2024
a7cfd4b
Merge branch 'develop' into rheo
jtclemm Nov 28, 2024
296941e
Missed file, whitespace
jtclemm Dec 2, 2024
dc3a100
remove unused variables
akohlmey Dec 4, 2024
ade5289
Redefining stiffness in coeff rest moodel
jtclemm Dec 5, 2024
2279763
Clarifying definition of knd for hooke
jtclemm Dec 5, 2024
2eb3084
add "Original author" tag to Steve's name
akohlmey Dec 6, 2024
aaa8431
add comment to sync this file with the corresponding page of the LAMM…
akohlmey Dec 6, 2024
828f5b9
avoid uninitialized data access
akohlmey Dec 6, 2024
5f3ee31
Marked multitype's default constructor as noexcept, b/c it is
abkein Dec 6, 2024
f0c176c
vcm example script and log added
tylercollins5737 Dec 7, 2024
3c6f437
removed some id info
tylercollins5737 Dec 7, 2024
e21ed49
improve error messages
akohlmey Dec 9, 2024
bcd123c
Removing extra x-lambda conversion
jtclemm Dec 9, 2024
4c496df
Simplifying behavior of bpm bonds without breakage
jtclemm Dec 9, 2024
2562d3a
Updating bpm pour example with break no
jtclemm Dec 9, 2024
fdfe6d5
Clarifying break no alternate
jtclemm Dec 9, 2024
90f121e
Clarifying ambiguous remap comment
jtclemm Dec 9, 2024
1b7bc59
Clarifying BPM eq dist logic
jtclemm Dec 9, 2024
6f4466f
Marked multitype's default constructor as noexcept, b/c it is
abkein Dec 6, 2024
e902d19
Merge pull request #4366 from jtclemm/rheo
akohlmey Dec 10, 2024
a78aee5
Merge pull request #4407 from jtclemm/small-patches
akohlmey Dec 10, 2024
02db7be
Merge branch 'develop' into collected-small-changes
akohlmey Dec 10, 2024
4993845
Merge branch 'lammps:develop' into develop
tylercollins5737 Dec 11, 2024
9da58b3
python: deprecated pylammps interface
rbberger Nov 4, 2024
91c0d59
add note about age of SPH package PDF add-on docs.
akohlmey Dec 11, 2024
eba7dfa
address spelling issues
akohlmey Dec 11, 2024
0674f43
correct references
akohlmey Dec 11, 2024
b4acfd1
updated summary, comments, and name
tylercollins5737 Dec 11, 2024
483111b
remove references to nonexisting input
akohlmey Dec 12, 2024
8f25a31
adapted angle_mwlc to work with units other than lj
farrelljd Dec 12, 2024
077a229
merge develop into angle-mwlc
farrelljd Dec 12, 2024
5134529
Merge branch 'develop' into experimental
abkein Dec 12, 2024
d50a62f
example readme updated
tylercollins5737 Dec 13, 2024
24a4ff7
python: update examples and docs
rbberger Nov 4, 2024
e45ef5a
unittest: add Python command_wrapper test
rbberger Nov 24, 2024
754aa1c
python: doc and example updates
rbberger Nov 24, 2024
7f68aeb
Update Kokkos library in LAMMPS to v4.5.0
stanmoore1 Dec 13, 2024
9e3f7e5
Update build systems for Kokkos v4.5.0
stanmoore1 Dec 13, 2024
4c347a7
Update docs for Kokkos v4.5.0
stanmoore1 Dec 13, 2024
f557b7b
Need to update define for HIP unified memory
stanmoore1 Dec 13, 2024
e3b991c
Merge branch 'develop' of github.com:lammps/lammps into feature/snap-…
stanmoore1 Dec 13, 2024
0c91880
updated compute_temp_chunk doc
tylercollins5737 Dec 14, 2024
1188c38
updated docs example page
tylercollins5737 Dec 14, 2024
6124631
updated readme example list order
tylercollins5737 Dec 14, 2024
1cb12e3
update appdata for flatpak builds
akohlmey Dec 14, 2024
70c5722
flatpak updates
akohlmey Dec 14, 2024
4c33bf6
whitespace
akohlmey Dec 14, 2024
5fa4be4
correct references
akohlmey Dec 11, 2024
c9d0eba
address spelling issues
akohlmey Dec 11, 2024
afe0d94
small fixes for the manual
akohlmey Dec 14, 2024
861b1fb
small doxygen updates
akohlmey Dec 15, 2024
a6d53d8
fix incorrect extvector setting bug for using fix vector with fixes
akohlmey Dec 15, 2024
5ffbf39
use safe version of Domain::minimum_image() for large image flag counts.
akohlmey Dec 15, 2024
8daad30
Re-enable Kokkos OpenMP and Serial code paths for SNAP
stanmoore1 Dec 16, 2024
8ee83bc
Merge pull request #4391 from weinbe2/feature/snap-unify-codepaths
akohlmey Dec 17, 2024
4bdf6b0
make consistent
akohlmey Dec 17, 2024
fe77596
cosmetic
akohlmey Dec 17, 2024
faab36c
Merge branch 'develop' into collected-small-changes
akohlmey Dec 17, 2024
67a8120
Merge pull request #4403 from akohlmey/collected-small-changes
akohlmey Dec 17, 2024
aeb2190
Merge pull request #4404 from abkein/experimental
akohlmey Dec 17, 2024
03fff14
example name suffix removed
tylercollins5737 Dec 18, 2024
4b1a8d1
uncommented output line
tylercollins5737 Dec 18, 2024
7cd6c49
added line linking example script
tylercollins5737 Dec 18, 2024
3311e71
Merge branch 'develop' into develop
tylercollins5737 Dec 18, 2024
bf10fcd
fix GPU build typo
DanielYang59 Dec 19, 2024
74cf599
work around bug in FindVTK.cmake shipped with VTK 9.1 (and possibly o…
akohlmey Dec 19, 2024
aadc872
Merge branch 'fix-doc-gpu-typo' of https://github.com/DanielYang59/la…
akohlmey Dec 19, 2024
f06c4da
make format style variable tests unambiguous for rounding issues
akohlmey Dec 18, 2024
210f7d7
check that the internal pressure compute has not been manually replac…
akohlmey Dec 19, 2024
fbba20f
validate that a non-temperature compute has not been replaced without…
akohlmey Dec 24, 2024
c27ca94
Update Kokkos library in LAMMPS to v4.5.1
stanmoore1 Dec 24, 2024
a23dcb6
Merge branch 'develop' into kk_update_4.5.0
stanmoore1 Dec 24, 2024
e31ca3c
Update CMake
stanmoore1 Dec 24, 2024
940473a
Merge branch 'kk_update_4.5.0' of github.com:stanmoore1/lammps into k…
stanmoore1 Dec 24, 2024
f00addc
Merge pull request #4422 from akohlmey/collected-small-changes
akohlmey Dec 24, 2024
77ab630
update LAMMPS-GUI TODO list
akohlmey Dec 24, 2024
c78c53b
more checking on temperature and pressure computes plus bugfixes
akohlmey Dec 24, 2024
f3cbf55
update LAMMPS-GUI todo list
akohlmey Dec 26, 2024
5947e3e
use LAMMPS' warning function from Error class
akohlmey Dec 26, 2024
48178cc
highlight error and warning messages in output window
akohlmey Dec 26, 2024
5ece813
suppress bogus compiler warnings about overflowing buffer size in mem…
akohlmey Dec 27, 2024
53c3fa2
memcpymask is a constant and thus should be uppercase
akohlmey Dec 27, 2024
de0baba
add updates/corrections, improve formatting
akohlmey Dec 27, 2024
fb33541
use command-line consistently where applicable and drop "line" where not
akohlmey Dec 27, 2024
1d4e2d7
another chunk of added/updated/modernized internal compute checks at …
akohlmey Dec 27, 2024
916e5a8
more fix::init() checks and some clang-formatting for NH style classes
akohlmey Dec 27, 2024
f71fa8e
logo images for all 8 currently supported tutorials
akohlmey Dec 27, 2024
9241f89
avoid 32-bit integer overflow by reordering
akohlmey Dec 27, 2024
90d1e4d
add code paths for all 8 tutorial wizards. only descriptive text is m…
akohlmey Dec 27, 2024
211099b
small updates and corrections to the LAMMPS-GUI howto
akohlmey Dec 28, 2024
bbef7e3
update TODO
akohlmey Dec 28, 2024
e5ee94a
add overloads for automatic string style conversions
akohlmey Dec 28, 2024
be9ace0
show download progress in status line and progress bar
akohlmey Dec 28, 2024
f50b5d6
combine the first two and the second two wizard pages into one page each
akohlmey Dec 28, 2024
73eeda3
display panel with number or warnings and lines in output window, but…
akohlmey Dec 28, 2024
d70b923
update tutorial info texts from paper
akohlmey Dec 29, 2024
7d67bca
compatibility with Qt 5.12 on Ubuntu 20.04LTS
akohlmey Dec 29, 2024
f6c0c73
improve layout of warnings panel
akohlmey Dec 29, 2024
0bdaece
add keyboard shortcut and context menu entry for jump to next warning
akohlmey Dec 29, 2024
9dbb9d3
reformulate to avoid command-line
akohlmey Dec 29, 2024
4d36a84
add check whether libcurl support was compiled into LAMMPS and geturl…
akohlmey Dec 29, 2024
78a897c
check if a downloaded (solution) file is a symlink placeholder and pu…
akohlmey Dec 29, 2024
8b32516
display a valid URL for the download location
akohlmey Dec 30, 2024
908c2aa
Merge branch 'develop' into develop
tylercollins5737 Dec 30, 2024
f809aee
uploaded dated plot
tylercollins5737 Dec 30, 2024
b246599
uploaded dated stress output file
tylercollins5737 Dec 30, 2024
463452e
README added
tylercollins5737 Dec 30, 2024
399d711
include WHAM software in LAMMPS-GUI compilation
akohlmey Jan 2, 2025
d87abc0
correct CMake script code for including WHAM executables in macOS app…
akohlmey Jan 2, 2025
735606a
document inclusion of WHAM
akohlmey Jan 2, 2025
f7cea5e
improve error messages
akohlmey Jan 3, 2025
1fcf1a7
add patch for customization of wham to support LAMMPS units
akohlmey Jan 3, 2025
bc30665
update unit test for changes in units command error messages
akohlmey Jan 3, 2025
cd6ab17
Merge pull request #4427 from akohlmey/collected-small-changes
akohlmey Jan 3, 2025
670447e
correct list of valid reference syntax to computes, fixes, and proper…
akohlmey Jan 4, 2025
467ceee
update patch for WHAM
akohlmey Jan 4, 2025
8595d8f
Merge branch 'develop' of github.com:lammps/lammps into kk_update_4.5.0
stanmoore1 Jan 7, 2025
a795ae3
Single process errors in pair style kim reported using error->one
riseofdata Jan 7, 2025
0abb371
Merge pull request #4428 from tadmor/fix-kim-single-proc-error-bug
akohlmey Jan 8, 2025
42adfc1
Merge remote-tracking branch 'github/develop' into collected-small-ch…
akohlmey Jan 8, 2025
d66d1a2
fix indexing bug in dump vtk that would ignore the first 5 custom pro…
akohlmey Jan 8, 2025
613c38d
replace loops with explicit iterators with c++-11 auto loops
akohlmey Jan 8, 2025
1432df3
modernize access for fixes and computes
akohlmey Jan 8, 2025
cbab95e
update for more clarity
akohlmey Jan 8, 2025
ae6b2d8
fix typo
akohlmey Jan 8, 2025
24763bf
add info on how to debug if LAMMPS seems stuck
akohlmey Jan 8, 2025
ec7be39
ml-pace: update tag
rbberger Jan 8, 2025
8ec9f37
update linalg to version 1.4 corresponding to LAPACK 3.12.1
akohlmey Jan 8, 2025
e7d9244
add missing dependency
akohlmey Jan 8, 2025
f3425eb
add one more missing dependency
akohlmey Jan 8, 2025
7480460
add another couple of dependent functions
akohlmey Jan 8, 2025
6684353
Make sure that yaml-cpp::yaml-cpp exists
rbberger Jan 8, 2025
41e7cf7
MPI bugfix for dump netcdf from Paul Coffman
akohlmey Jan 9, 2025
52d932d
Merge pull request #4413 from stanmoore1/kk_update_4.5.0
akohlmey Jan 9, 2025
50bda60
Merge pull request #4430 from akohlmey/update-linalg
akohlmey Jan 9, 2025
9a513ca
Merge remote-tracking branch 'github/develop' into collected-small-ch…
akohlmey Jan 9, 2025
617f798
make sure that retstr is always initialized since it is always commun…
akohlmey Jan 9, 2025
090e55b
Merge branch 'develop' into develop
tylercollins5737 Jan 9, 2025
9c1da4c
whitespace fix in doc
tylercollins5737 Jan 9, 2025
cb930d6
Merge pull request #4405 from tylercollins5737/develop
akohlmey Jan 9, 2025
a769b3d
Merge branch 'develop' into collected-small-changes
akohlmey Jan 9, 2025
4330801
Merge pull request #4429 from akohlmey/collected-small-changes
akohlmey Jan 10, 2025
38c3477
Merge pull request #4394 from rbberger/find-package-pace
akohlmey Jan 10, 2025
c7ae973
more edits to angle_mwlc documentation
farrelljd Jan 10, 2025
6bdc58b
improved the documentation
farrelljd Jan 10, 2025
5490336
added a unit test
farrelljd Jan 10, 2025
4af328c
added contributing author email
farrelljd Jan 10, 2025
e858c8a
Merge branch 'develop' into angle-mwlc
farrelljd-iop Jan 10, 2025
5a02221
small doc updates and corrections
akohlmey Jan 10, 2025
6732013
apply clang-format
akohlmey Jan 10, 2025
dbc6f77
Merge branch 'develop' into deprecate_pylammps
rbberger Jan 10, 2025
e3f930b
Merge pull request #1 from akohlmey/angle-mwlc
farrelljd-iop Jan 11, 2025
994a631
add "post no" for single-shot runs
akohlmey Jan 11, 2025
8b2c852
correct and update the Python Howto
akohlmey Jan 11, 2025
a443fe4
Merge pull request #4433 from farrelljd-iop/angle-mwlc
akohlmey Jan 11, 2025
2df402c
Merge branch 'develop' into cmake-cpp-std-deprecation
akohlmey Jan 13, 2025
7c990f8
improve wording
akohlmey Jan 13, 2025
78850ef
also warn that KOKKOS will end support for legacy builds in Summer 2025
akohlmey Jan 13, 2025
f50edb5
Merge pull request #4369 from rbberger/deprecate_pylammps
akohlmey Jan 13, 2025
dd6fea3
Merge branch 'develop' into cmake-cpp-std-deprecation
akohlmey Jan 13, 2025
d692a99
print PyLammps deprecation warning only once and only from MPI rank 0
akohlmey Jan 13, 2025
528770f
Merge pull request #4344 from lammps/cmake-cpp-std-deprecation
akohlmey Jan 13, 2025
742c869
Merge branch 'develop' into gsalkuin/develop
akohlmey Jan 13, 2025
ec66967
remove unused variables
akohlmey Jan 13, 2025
8705a14
create logs for example input
akohlmey Jan 13, 2025
55a3b28
replace CR-LF with LF
akohlmey Jan 13, 2025
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
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,8 @@ src/group.* @sjplimp
src/improper.* @sjplimp
src/info.* @akohlmey
src/kspace.* @sjplimp
src/lmptyp.h @sjplimp
src/lmptype.h @sjplimp
src/label_map.* @jrgissing @akohlmey
src/library.* @sjplimp @akohlmey
src/main.cpp @sjplimp
src/min_*.* @sjplimp
Expand Down
108 changes: 108 additions & 0 deletions .github/release_steps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# LAMMPS Release Steps

The following notes chronicle the current steps for preparing and publishing LAMMPS releases. For
definitions of LAMMPS versions and releases mean, please refer to [the corresponding section in the
LAMMPS manual](https://docs.lammps.org/Manual_version.html).

## LAMMPS Feature Release

A LAMMPS feature release is currently prepared after about 500 to 750 commits to the 'develop'
branch or after a period of four weeks up to two months. This is not a fixed rule, though, since
external circumstances can cause delays in preparing a release, or pull requests that are desired to
be merged for the release are not yet completed.

### Preparing a 'next\_release' branch

Create a 'next\_release' branch off 'develop' and make the following changes:

- set the LAMMPS\_VERSION define to the planned release date in src/version.h in the format
"D Mmm YYYY" or "DD Mmm YYYY"
- remove the LAMMPS\_UPDATE define in src/version.h
- update the release date in doc/lammps.1
- update all TBD arguments for ..versionadded::, ..versionchanged:: ..deprecated:: to the
planned release date in the format "DMmmYYYY" or "DDMmmYYYY"
- check release notes for merged new features and check if ..versionadded:: or ..versionchanged::
are missing and need to be added
Submit this pull request, rebase if needed. This is the last pull request merged for the release
and should not contain any other changes. (Exceptions: this document, last minute trivial(!) changes).

This PR shall not be merged before **all** pending tests have completed and cleared. If needed, a
bugfix pull request should be created and merged to clear all tests.

### Create release on GitHub

When all pending pull requests for the release are merged and have cleared testing, the
'next\_release' branch is merged into 'develop'.

Check out 'develop' locally, pull the latest changes, merge them into 'release', apply a suitable
release tag (for historical reasons the tag starts with "patch_" followed by the date, and finally
push everything back to GitHub. Example:

```
git checkout develop
git pull
git checkout release
git pull
git merge --ff-only develop
git tag -s -m "LAMMPS feature release 19 November 2024" patch_19Nov2024
git push git@github.com:lammps/lammps.git --tags develop release
```

Go to https://github.com/lammps/lammps/releases and create a new (draft) release page or check the
existing draft for any necessary changes from pull requests that were merged but are not listed.
Then select the applied tag for the release in the "Choose a tag" dropdown list. Go to the bottom of
the list and select the "Set as pre-release" checkbox. The "Set as the latest release" button is
reserved for stable releases and updates to them.

If everything is in order, you can click on the "Publish release" button. Otherwise, click on "Save
draft" and finish pending tasks until you can return to edit the release page and publish it.

### Update download website, prepare pre-compiled packages, update packages to GitHub

Publishing the release on GitHub will trigger the Temple Jenkins cluster to update
the https://docs.lammps.org/ website with the documentation for the new feature release
and it will create a tarball for download (which contains the translated manual).

Build a fully static LAMMPS installation using a musl-libc cross-compiler, install into a
lammps-static folder, and create a tarball called lammps-linux-x86_64-19Nov2024.tar.gz (or using a
corresponding date with a future release) from the lammps-static folder and upload it to GitHub
with:

```
gh release upload patch_19Nov2024 ~/Downloads/lammps-linux-x86_64-19Nov2024.tar.gz
```


## LAMMPS Stable Release

A LAMMPS stable release is prepared about once per year in the months July, August, or September.
One (or two, if needed) feature releases before the stable release shall contain only bug fixes
or minor feature updates in optional packages. Also substantial changes to the core of the code
shall be applied rather toward the beginning of a development cycle between two stable releases
than toward the end. The intention is to stablilize significant change to the core and have
outside users and developers try them out during the development cycle; the sooner the changes
are included, the better chances for spotting peripheral bugs and issues.

### Prerequesites

Before making a stable release all remaining backported bugfixes shall be released as a (final)
stable update release (see below).

A LAMMPS stable release process starts like a feature release (see above), only that this feature
release is called a "Stable Release Candidate" and no assets are uploaded to GitHub.

### Synchronize 'maintenance' branch with 'release'

The state of the 'release' branch is then transferred to the 'maintenance' branch (which will
have diverged significantly from 'release' due to the selectively backported bug fixes).

### Fast-forward merge of 'maintenance' into 'stable' and apply tag

At this point it should be possible to do a fast-forward merge of 'maintenance' to 'stable'
and then apply the stable\_DMmmYYYY tag.

### Push branches and tags



## LAMMPS Stable Update Release
14 changes: 8 additions & 6 deletions .github/workflows/kokkos-regression.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: "Kokkos OpenMP Regression Test"

on:
pull_request:
push:
branches:
- develop

Expand All @@ -17,9 +17,9 @@ jobs:
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
strategy:
max-parallel: 4
max-parallel: 6
matrix:
idx: [ 'pair', 'fix', 'compute', 'misc' ]
idx: [ 'pair-0', 'pair-1', 'fix-0', 'fix-1', 'compute', 'misc' ]

steps:
- name: Checkout repository
Expand Down Expand Up @@ -83,6 +83,7 @@ jobs:
-D PKG_REAXFF=on \
-D PKG_REPLICA=on \
-D PKG_SRD=on \
-D PKG_SPH=on \
-D PKG_VORONOI=on \
-G Ninja
cmake --build build
Expand All @@ -93,17 +94,18 @@ jobs:
run: |
source linuxenv/bin/activate
python3 tools/regression-tests/get_kokkos_input.py \
--examples-top-level=examples \
--filter-out="balance;fire;gcmc;granregion;mdi;mliap;neb;pace;prd;pour;python;snap"
--examples-top-level=examples --batch-size=50 \
--filter-out="balance;fire;gcmc;granregion;hyper;mc;mdi;mliap;neb;pace;prd;pour;python;rigid;snap;streitz;shear;ttm"

export OMP_PROC_BIND=false
python3 tools/regression-tests/run_tests.py \
--lmp-bin=build/lmp \
--config-file=tools/regression-tests/config_kokkos_openmp.yaml \
--list-input=input-list-${{ matrix.idx }}-kk.txt \
--output-file=output-${{ matrix.idx }}.xml \
--progress-file=progress-${{ matrix.idx }}.yaml \
--log-file=run-${{ matrix.idx }}.log \
--quick-max=100 --verbose
--quick-max=100

tar -cvf kokkos-regression-test-${{ matrix.idx }}.tar run-${{ matrix.idx }}.log progress-${{ matrix.idx }}.yaml output-${{ matrix.idx }}.xml

Expand Down
46 changes: 35 additions & 11 deletions cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
# CMake build system
# This file is part of LAMMPS
cmake_minimum_required(VERSION 3.16)
if(CMAKE_VERSION VERSION_LESS 3.20)
message(WARNING "LAMMPS is planning to require at least CMake version 3.20 by Summer 2025. Please upgrade!")
endif()
########################################
# set policy to silence warnings about ignoring <PackageName>_ROOT but use it
if(POLICY CMP0074)
Expand Down Expand Up @@ -141,19 +144,31 @@ endif()

# silence nvcc warnings
if((PKG_KOKKOS) AND (Kokkos_ENABLE_CUDA) AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))
set(CMAKE_TUNE_DEFAULT "${CMAKE_TUNE_DEFAULT} -Xcudafe --diag_suppress=unrecognized_pragma -Xcudafe --diag_suppress=128")
set(CMAKE_TUNE_DEFAULT "${CMAKE_TUNE_DEFAULT}" "-Xcudafe --diag_suppress=unrecognized_pragma,--diag_suppress=128")
endif()

# we require C++11 without extensions. Kokkos requires at least C++17 (currently)
# we *require* C++11 without extensions but prefer C++17.
# Kokkos requires at least C++17 (currently)
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11)
if(cxx_std_17 IN_LIST CMAKE_CXX_COMPILE_FEATURES)
set(CMAKE_CXX_STANDARD 17)
else()
set(CMAKE_CXX_STANDARD 11)
endif()
endif()
if(CMAKE_CXX_STANDARD LESS 11)
message(FATAL_ERROR "C++ standard must be set to at least 11")
endif()
if(CMAKE_CXX_STANDARD LESS 17)
message(WARNING "Selecting C++17 standard is preferred over C++${CMAKE_CXX_STANDARD}")
endif()
if(PKG_KOKKOS AND (CMAKE_CXX_STANDARD LESS 17))
set(CMAKE_CXX_STANDARD 17)
endif()
# turn off C++17 check in lmptype.h
if(LAMMPS_CXX11)
add_compile_definitions(LAMMPS_CXX11)
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Use compiler extensions")
# ugly hacks for MSVC which by default always reports an old C++ standard in the __cplusplus macro
Expand Down Expand Up @@ -347,6 +362,17 @@ foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES})
option(PKG_${PKG} "Build ${PKG} Package" OFF)
endforeach()

set(DEPRECATED_PACKAGES AWPMD ATC POEMS)
foreach(PKG ${DEPRECATED_PACKAGES})
if(PKG_${PKG})
message(WARNING
"The ${PKG} package will be removed from LAMMPS in Summer 2025 due to lack of "
"maintenance and use of code constructs that conflict with modern C++ compilers "
"and standards. Please contact developers@lammps.org if you have any concerns "
"about this step.")
endif()
endforeach()

######################################################
# packages with special compiler needs or external libs
######################################################
Expand Down Expand Up @@ -588,13 +614,8 @@ endif()

set(CMAKE_TUNE_FLAGS "${CMAKE_TUNE_DEFAULT}" CACHE STRING "Compiler and machine specific optimization flags (compilation only)")
separate_arguments(CMAKE_TUNE_FLAGS)
foreach(_FLAG ${CMAKE_TUNE_FLAGS})
target_compile_options(lammps PRIVATE ${_FLAG})
# skip these flags when linking the main executable
if(NOT (("${_FLAG}" STREQUAL "-Xcudafe") OR (("${_FLAG}" STREQUAL "--diag_suppress=unrecognized_pragma"))))
target_compile_options(lmp PRIVATE ${_FLAG})
endif()
endforeach()
target_compile_options(lammps PRIVATE ${CMAKE_TUNE_FLAGS})
target_compile_options(lmp PRIVATE ${CMAKE_TUNE_FLAGS})
########################################################################
# Basic system tests (standard libraries, headers, functions, types) #
########################################################################
Expand Down Expand Up @@ -1083,12 +1104,15 @@ if(BUILD_TOOLS)
message(STATUS "<<< Building Tools >>>")
endif()
if(BUILD_LAMMPS_GUI)
message(STATUS "<<< Building LAMMPS GUI >>>")
message(STATUS "<<< Building LAMMPS-GUI >>>")
if(LAMMPS_GUI_USE_PLUGIN)
message(STATUS "Loading LAMMPS library as plugin at run time")
else()
message(STATUS "Linking LAMMPS library at compile time")
endif()
if(BUILD_WHAM)
message(STATUS "<<< Building WHAM >>>")
endif()
endif()
if(ENABLE_TESTING)
message(STATUS "<<< Building Unit Tests >>>")
Expand Down
22 changes: 5 additions & 17 deletions cmake/Modules/Packages/KOKKOS.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,13 @@ endif()

########################################################################
# consistency checks and Kokkos options/settings required by LAMMPS
if(Kokkos_ENABLE_CUDA)
option(Kokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC "CUDA asynchronous malloc support" OFF)
mark_as_advanced(Kokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC)
if(Kokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC)
message(STATUS "KOKKOS: CUDA malloc async support enabled")
else()
message(STATUS "KOKKOS: CUDA malloc async support disabled")
endif()
endif()
if(Kokkos_ENABLE_HIP)
option(Kokkos_ENABLE_HIP_MULTIPLE_KERNEL_INSTANTIATIONS "Enable multiple kernel instantiations with HIP" ON)
mark_as_advanced(Kokkos_ENABLE_HIP_MULTIPLE_KERNEL_INSTANTIATIONS)
option(Kokkos_ENABLE_ROCTHRUST "Use RoCThrust library" ON)
mark_as_advanced(Kokkos_ENABLE_ROCTHRUST)

if(Kokkos_ARCH_AMD_GFX942 OR Kokkos_ARCH_AMD_GFX940)
option(Kokkos_ENABLE_IMPL_HIP_UNIFIED_MEMORY "Enable unified memory with HIP" ON)
mark_as_advanced(Kokkos_ENABLE_IMPL_HIP_UNIFIED_MEMORY)
endif()
endif()

# Adding OpenMP compiler flags without the checks done for
# BUILD_OMP can result in compile failures. Enforce consistency.
if(Kokkos_ENABLE_OPENMP)
Expand Down Expand Up @@ -70,8 +57,8 @@ if(DOWNLOAD_KOKKOS)
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}")
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}")
include(ExternalProject)
set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.4.01.tar.gz" CACHE STRING "URL for KOKKOS tarball")
set(KOKKOS_MD5 "de6ee80d00b6212b02bfb7f1e71a8392" CACHE STRING "MD5 checksum of KOKKOS tarball")
set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.5.01.tar.gz" CACHE STRING "URL for KOKKOS tarball")
set(KOKKOS_MD5 "4d832aa0284169d9e3fbae3165286bc6" CACHE STRING "MD5 checksum of KOKKOS tarball")
mark_as_advanced(KOKKOS_URL)
mark_as_advanced(KOKKOS_MD5)
GetFallbackURL(KOKKOS_URL KOKKOS_FALLBACK)
Expand All @@ -96,7 +83,7 @@ if(DOWNLOAD_KOKKOS)
add_dependencies(LAMMPS::KOKKOSCORE kokkos_build)
add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build)
elseif(EXTERNAL_KOKKOS)
find_package(Kokkos 4.4.01 REQUIRED CONFIG)
find_package(Kokkos 4.5.01 REQUIRED CONFIG)
target_link_libraries(lammps PRIVATE Kokkos::kokkos)
else()
set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos)
Expand Down Expand Up @@ -130,6 +117,7 @@ set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/atom_vec_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/comm_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/comm_tiled_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/group_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/min_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/min_linesearch_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/neighbor_kokkos.cpp
Expand Down
Loading