Skip to content

{chem}[foss/2024a] LAMMPS v29Aug2024 + v22Jul2025 w/ kokkos, CUDA 12.6.0 + unit tests#23719

Merged
laraPPr merged 13 commits intoeasybuilders:developfrom
lorisercole:LAMMPS-2025
Dec 12, 2025
Merged

{chem}[foss/2024a] LAMMPS v29Aug2024 + v22Jul2025 w/ kokkos, CUDA 12.6.0 + unit tests#23719
laraPPr merged 13 commits intoeasybuilders:developfrom
lorisercole:LAMMPS-2025

Conversation

@lorisercole
Copy link
Copy Markdown
Contributor

@lorisercole lorisercole commented Aug 20, 2025

  • Add easyconfigs for LAMMPS 22Jul2025 stable release with Kokkos (CPU) and Kokkos+CUDA
  • Update easyconfig of version 29Aug2024_version2 in order to run the unit tests implemented in the new easyblock.

Requires:

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Aug 20, 2025

Updated software LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb

Diff against LAMMPS-2Aug2023_update2-foss-2024a-kokkos-CUDA-12.6.0.eb

easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2024a-kokkos-CUDA-12.6.0.eb

diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2024a-kokkos-CUDA-12.6.0.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb
index aa7ff10260..c72ffa2251 100644
--- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2024a-kokkos-CUDA-12.6.0.eb
+++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb
@@ -1,5 +1,5 @@
 name = 'LAMMPS'
-version = '2Aug2023_update2'
+version = '22Jul2025'
 _cuda_suffix = '-CUDA-%(cudaver)s'
 versionsuffix = '-kokkos' + _cuda_suffix
 
@@ -18,31 +18,32 @@ functionality.
 toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'openmp': True, 'usempi': True, 'extra_cxxflags': '-D_AMXTILEINTRIN_H_INCLUDED'}
 # '-D_AMXTILEINTRIN_H_INCLUDED' flag is required to avoid the following errors,
-# likely due to an incompatibility between the GCC 13.3.0 and CUDA 12.6.0:
+# likely due to an incompatibility between the GCC 13.3.0 and NVCC CUDA 12.6.0:
 #   [...]/GCCcore/13.3.0/lib/gcc/x86_64-pc-linux-gnu/13.3.0/include/amxtileintrin.h(42):
 #     error: identifier "__builtin_ia32_ldtilecfg" is undefined
 #   [...]/GCCcore/13.3.0/lib/gcc/x86_64-pc-linux-gnu/13.3.0/include/amxtileintrin.h(49):
-#     error: identifier "__builtin_ia32_sttilecfg" is undefined
+# error: identifier "__builtin_ia32_sttilecfg" is undefined
 
 # 'https://github.com/lammps/lammps/archive/'
 source_urls = [GITHUB_LOWER_SOURCE]
 sources = ['stable_%(version)s.tar.gz']
 patches = [
-    'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch',
-    'LAMMPS-2Aug2023_fix-timestep-balance-example.patch',
+    'LAMMPS-22Jul2025_install_lammps_python_package_in_eb_software_module.patch',
+    'LAMMPS-22Jul2025_cmake_kokkos_cuda_cxxflags.patch',
 ]
 checksums = [
-    {'stable_2Aug2023_update2.tar.gz': '3bcecabc9cad08d0a4e4d989b52d29c58505f7ead8ebacf43c9db8d9fd3d564a'},
-    {'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch':
-     '314ab1064af74ddfcf4091dfe9f90fa32cfa4100e8d01fea7b59b019575a7c51'},
-    {'LAMMPS-2Aug2023_fix-timestep-balance-example.patch':
-     '6f68387ced2b4bd0a06e4c3d31b0ffd47042476777d87d8a0ca6b19a4e6a1777'},
+    {'stable_22Jul2025.tar.gz': '38d7ab508433f33a53e11f0502aa0253945ce45d5595baf69665961c0a76da26'},
+    {'LAMMPS-22Jul2025_install_lammps_python_package_in_eb_software_module.patch':
+     '0cab0fa4dc8b2c68b45cd9df4398b9c2c37d69dcd1dc054aacb44f78698a2c84'},
+    {'LAMMPS-22Jul2025_cmake_kokkos_cuda_cxxflags.patch':
+     '54f1291f45d32e13141935ba8199f28915e178830d8f7845b038475ce345a1de'},
 ]
 
 builddependencies = [
     ('CMake', '3.29.3'),
     ('pkgconf', '2.2.0'),
     ('archspec', '0.2.5'),
+    ('PyYAML', '6.0.2'),  # needed for tests
 ]
 dependencies = [
     ('CUDA', '12.6.0', '', SYSTEM),
@@ -69,13 +70,10 @@ dependencies = [
     ('VTK', '9.3.1'),
     # We use a custom build of MDI
     ('MDI', '1.4.26'),
+    ('mpi4py', '4.0.1'),
+    ('tbb', '2021.13.0'),
+    ('ScaFaCoS', '1.0.4'),
 ]
-if ARCH == 'x86_64':
-    # TBB and ScaFaCos are an optional dependency when building on Intel arch
-    dependencies += [
-        ('tbb', '2021.13.0'),
-        ('ScaFaCoS', '1.0.4'),
-    ]
 
 # To use additional custom configuration options, use the 'configopts' easyconfig parameter
 # See docs and lammps easyblock for more information.
@@ -100,6 +98,7 @@ configopts = ' '.join([
 # include the following extra packages into the build
 general_packages = [
     'AMOEBA',
+    'APIP',
     'ASPHERE',
     'ATC',
     'AWPMD',
@@ -150,6 +149,7 @@ general_packages = [
     'ML-POD',
     'ML-RANN',
     'ML-SNAP',
+    'ML-UEF3',
     'MOFFF',
     'MOLECULE',
     'MOLFILE',
@@ -169,6 +169,7 @@ general_packages = [
     'REACTION',
     'REAXFF',
     'REPLICA',
+    'RHEO',
     'RIGID',
     'SCAFACOS',
     'SHOCK',
@@ -185,11 +186,9 @@ general_packages = [
 
 # Excluded packages due to requiring additional (non-trivial) deps
 # - ADIOS
-# - LATTE
 # - MESONT (requires very large files downloaded during build)
 # - ML-HDNNP (requires N2P2)
 # - ML-QUIP
-# - MSCG
 # - QMMM (setup seems complex)
 
 # hardware-specific option
Diff against LAMMPS-29Aug2024_update2-foss-2024a-kokkos.eb

easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos.eb

diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb
index 19552a6151..c72ffa2251 100644
--- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos.eb
+++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb
@@ -1,6 +1,7 @@
 name = 'LAMMPS'
-version = '29Aug2024_update2'
-versionsuffix = '-kokkos'
+version = '22Jul2025'
+_cuda_suffix = '-CUDA-%(cudaver)s'
+versionsuffix = '-kokkos' + _cuda_suffix
 
 homepage = 'https://www.lammps.org'
 description = """LAMMPS is a classical molecular dynamics code, and an acronym
@@ -15,20 +16,27 @@ functionality.
 """
 
 toolchain = {'name': 'foss', 'version': '2024a'}
-toolchainopts = {'openmp': True, 'usempi': True}
+toolchainopts = {'openmp': True, 'usempi': True, 'extra_cxxflags': '-D_AMXTILEINTRIN_H_INCLUDED'}
+# '-D_AMXTILEINTRIN_H_INCLUDED' flag is required to avoid the following errors,
+# likely due to an incompatibility between the GCC 13.3.0 and NVCC CUDA 12.6.0:
+#   [...]/GCCcore/13.3.0/lib/gcc/x86_64-pc-linux-gnu/13.3.0/include/amxtileintrin.h(42):
+#     error: identifier "__builtin_ia32_ldtilecfg" is undefined
+#   [...]/GCCcore/13.3.0/lib/gcc/x86_64-pc-linux-gnu/13.3.0/include/amxtileintrin.h(49):
+# error: identifier "__builtin_ia32_sttilecfg" is undefined
 
 # 'https://github.com/lammps/lammps/archive/'
 source_urls = [GITHUB_LOWER_SOURCE]
 sources = ['stable_%(version)s.tar.gz']
 patches = [
-    'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch',
-    'LAMMPS-29Aug2024_unittest_fix.patch'
+    'LAMMPS-22Jul2025_install_lammps_python_package_in_eb_software_module.patch',
+    'LAMMPS-22Jul2025_cmake_kokkos_cuda_cxxflags.patch',
 ]
 checksums = [
-    {'stable_29Aug2024_update2.tar.gz': 'f8ca3f021a819ced8658055f7750e235c51b4937ddb621cf1bd7bee08e0b6266'},
-    {'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch':
-     '314ab1064af74ddfcf4091dfe9f90fa32cfa4100e8d01fea7b59b019575a7c51'},
-    {'LAMMPS-29Aug2024_unittest_fix.patch': '05206d961b946bfd7b92c5b3db1b3883cd8c5ae8faea6227fa391650e6fba468'},
+    {'stable_22Jul2025.tar.gz': '38d7ab508433f33a53e11f0502aa0253945ce45d5595baf69665961c0a76da26'},
+    {'LAMMPS-22Jul2025_install_lammps_python_package_in_eb_software_module.patch':
+     '0cab0fa4dc8b2c68b45cd9df4398b9c2c37d69dcd1dc054aacb44f78698a2c84'},
+    {'LAMMPS-22Jul2025_cmake_kokkos_cuda_cxxflags.patch':
+     '54f1291f45d32e13141935ba8199f28915e178830d8f7845b038475ce345a1de'},
 ]
 
 builddependencies = [
@@ -38,6 +46,9 @@ builddependencies = [
     ('PyYAML', '6.0.2'),  # needed for tests
 ]
 dependencies = [
+    ('CUDA', '12.6.0', '', SYSTEM),
+    ('UCX-CUDA', '1.16.0', _cuda_suffix),
+    ('NCCL', '2.22.3', _cuda_suffix),
     ('Python', '3.12.3'),
     ('libpng', '1.6.43'),
     ('libjpeg-turbo', '3.0.1'),
@@ -87,6 +98,7 @@ configopts = ' '.join([
 # include the following extra packages into the build
 general_packages = [
     'AMOEBA',
+    'APIP',
     'ASPHERE',
     'ATC',
     'AWPMD',
@@ -137,6 +149,7 @@ general_packages = [
     'ML-POD',
     'ML-RANN',
     'ML-SNAP',
+    'ML-UEF3',
     'MOFFF',
     'MOLECULE',
     'MOLFILE',
@@ -156,6 +169,7 @@ general_packages = [
     'REACTION',
     'REAXFF',
     'REPLICA',
+    'RHEO',
     'RIGID',
     'SCAFACOS',
     'SHOCK',
@@ -174,7 +188,11 @@ general_packages = [
 # - ADIOS
 # - MESONT (requires very large files downloaded during build)
 # - ML-HDNNP (requires N2P2)
-# - ML-QUIP (requires QUIP)
+# - ML-QUIP
 # - QMMM (setup seems complex)
 
+# hardware-specific option
+# note: only the highest capability will be used
+# cuda_compute_capabilities = ['9.0']
+
 moduleclass = 'chem'
Diff against LAMMPS-29Aug2024_update2-foss-2024a-kokkos-CUDA-12.6.0.eb

easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos-CUDA-12.6.0.eb

diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos-CUDA-12.6.0.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb
index 13d2df9717..c72ffa2251 100644
--- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos-CUDA-12.6.0.eb
+++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb
@@ -1,5 +1,5 @@
 name = 'LAMMPS'
-version = '29Aug2024_update2'
+version = '22Jul2025'
 _cuda_suffix = '-CUDA-%(cudaver)s'
 versionsuffix = '-kokkos' + _cuda_suffix
 
@@ -28,18 +28,22 @@ toolchainopts = {'openmp': True, 'usempi': True, 'extra_cxxflags': '-D_AMXTILEIN
 source_urls = [GITHUB_LOWER_SOURCE]
 sources = ['stable_%(version)s.tar.gz']
 patches = [
-    'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch',
+    'LAMMPS-22Jul2025_install_lammps_python_package_in_eb_software_module.patch',
+    'LAMMPS-22Jul2025_cmake_kokkos_cuda_cxxflags.patch',
 ]
 checksums = [
-    {'stable_29Aug2024_update2.tar.gz': 'f8ca3f021a819ced8658055f7750e235c51b4937ddb621cf1bd7bee08e0b6266'},
-    {'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch':
-     '314ab1064af74ddfcf4091dfe9f90fa32cfa4100e8d01fea7b59b019575a7c51'},
+    {'stable_22Jul2025.tar.gz': '38d7ab508433f33a53e11f0502aa0253945ce45d5595baf69665961c0a76da26'},
+    {'LAMMPS-22Jul2025_install_lammps_python_package_in_eb_software_module.patch':
+     '0cab0fa4dc8b2c68b45cd9df4398b9c2c37d69dcd1dc054aacb44f78698a2c84'},
+    {'LAMMPS-22Jul2025_cmake_kokkos_cuda_cxxflags.patch':
+     '54f1291f45d32e13141935ba8199f28915e178830d8f7845b038475ce345a1de'},
 ]
 
 builddependencies = [
     ('CMake', '3.29.3'),
     ('pkgconf', '2.2.0'),
     ('archspec', '0.2.5'),
+    ('PyYAML', '6.0.2'),  # needed for tests
 ]
 dependencies = [
     ('CUDA', '12.6.0', '', SYSTEM),
@@ -94,6 +98,7 @@ configopts = ' '.join([
 # include the following extra packages into the build
 general_packages = [
     'AMOEBA',
+    'APIP',
     'ASPHERE',
     'ATC',
     'AWPMD',
@@ -144,6 +149,7 @@ general_packages = [
     'ML-POD',
     'ML-RANN',
     'ML-SNAP',
+    'ML-UEF3',
     'MOFFF',
     'MOLECULE',
     'MOLFILE',
@@ -163,6 +169,7 @@ general_packages = [
     'REACTION',
     'REAXFF',
     'REPLICA',
+    'RHEO',
     'RIGID',
     'SCAFACOS',
     'SHOCK',
@@ -181,7 +188,7 @@ general_packages = [
 # - ADIOS
 # - MESONT (requires very large files downloaded during build)
 # - ML-HDNNP (requires N2P2)
-# - ML-QUIP (requires QUIP)
+# - ML-QUIP
 # - QMMM (setup seems complex)
 
 # hardware-specific option

Updated software LAMMPS-22Jul2025-foss-2024a-kokkos.eb

Diff against LAMMPS-2Aug2023_update2-foss-2024a-kokkos-CUDA-12.6.0.eb

easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2024a-kokkos-CUDA-12.6.0.eb

diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2024a-kokkos-CUDA-12.6.0.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos.eb
index aa7ff10260..4c492fa2ad 100644
--- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2024a-kokkos-CUDA-12.6.0.eb
+++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos.eb
@@ -1,7 +1,6 @@
 name = 'LAMMPS'
-version = '2Aug2023_update2'
-_cuda_suffix = '-CUDA-%(cudaver)s'
-versionsuffix = '-kokkos' + _cuda_suffix
+version = '22Jul2025'
+versionsuffix = '-kokkos'
 
 homepage = 'https://www.lammps.org'
 description = """LAMMPS is a classical molecular dynamics code, and an acronym
@@ -16,38 +15,27 @@ functionality.
 """
 
 toolchain = {'name': 'foss', 'version': '2024a'}
-toolchainopts = {'openmp': True, 'usempi': True, 'extra_cxxflags': '-D_AMXTILEINTRIN_H_INCLUDED'}
-# '-D_AMXTILEINTRIN_H_INCLUDED' flag is required to avoid the following errors,
-# likely due to an incompatibility between the GCC 13.3.0 and CUDA 12.6.0:
-#   [...]/GCCcore/13.3.0/lib/gcc/x86_64-pc-linux-gnu/13.3.0/include/amxtileintrin.h(42):
-#     error: identifier "__builtin_ia32_ldtilecfg" is undefined
-#   [...]/GCCcore/13.3.0/lib/gcc/x86_64-pc-linux-gnu/13.3.0/include/amxtileintrin.h(49):
-#     error: identifier "__builtin_ia32_sttilecfg" is undefined
+toolchainopts = {'openmp': True, 'usempi': True}
 
 # 'https://github.com/lammps/lammps/archive/'
 source_urls = [GITHUB_LOWER_SOURCE]
 sources = ['stable_%(version)s.tar.gz']
 patches = [
-    'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch',
-    'LAMMPS-2Aug2023_fix-timestep-balance-example.patch',
+    'LAMMPS-22Jul2025_install_lammps_python_package_in_eb_software_module.patch',
 ]
 checksums = [
-    {'stable_2Aug2023_update2.tar.gz': '3bcecabc9cad08d0a4e4d989b52d29c58505f7ead8ebacf43c9db8d9fd3d564a'},
-    {'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch':
-     '314ab1064af74ddfcf4091dfe9f90fa32cfa4100e8d01fea7b59b019575a7c51'},
-    {'LAMMPS-2Aug2023_fix-timestep-balance-example.patch':
-     '6f68387ced2b4bd0a06e4c3d31b0ffd47042476777d87d8a0ca6b19a4e6a1777'},
+    {'stable_22Jul2025.tar.gz': '38d7ab508433f33a53e11f0502aa0253945ce45d5595baf69665961c0a76da26'},
+    {'LAMMPS-22Jul2025_install_lammps_python_package_in_eb_software_module.patch':
+     '0cab0fa4dc8b2c68b45cd9df4398b9c2c37d69dcd1dc054aacb44f78698a2c84'},
 ]
 
 builddependencies = [
     ('CMake', '3.29.3'),
     ('pkgconf', '2.2.0'),
     ('archspec', '0.2.5'),
+    ('PyYAML', '6.0.2'),  # needed for tests
 ]
 dependencies = [
-    ('CUDA', '12.6.0', '', SYSTEM),
-    ('UCX-CUDA', '1.16.0', _cuda_suffix),
-    ('NCCL', '2.22.3', _cuda_suffix),
     ('Python', '3.12.3'),
     ('libpng', '1.6.43'),
     ('libjpeg-turbo', '3.0.1'),
@@ -69,13 +57,10 @@ dependencies = [
     ('VTK', '9.3.1'),
     # We use a custom build of MDI
     ('MDI', '1.4.26'),
+    ('mpi4py', '4.0.1'),
+    ('tbb', '2021.13.0'),
+    ('ScaFaCoS', '1.0.4'),
 ]
-if ARCH == 'x86_64':
-    # TBB and ScaFaCos are an optional dependency when building on Intel arch
-    dependencies += [
-        ('tbb', '2021.13.0'),
-        ('ScaFaCoS', '1.0.4'),
-    ]
 
 # To use additional custom configuration options, use the 'configopts' easyconfig parameter
 # See docs and lammps easyblock for more information.
@@ -100,6 +85,7 @@ configopts = ' '.join([
 # include the following extra packages into the build
 general_packages = [
     'AMOEBA',
+    'APIP',
     'ASPHERE',
     'ATC',
     'AWPMD',
@@ -150,6 +136,7 @@ general_packages = [
     'ML-POD',
     'ML-RANN',
     'ML-SNAP',
+    'ML-UEF3',
     'MOFFF',
     'MOLECULE',
     'MOLFILE',
@@ -169,6 +156,7 @@ general_packages = [
     'REACTION',
     'REAXFF',
     'REPLICA',
+    'RHEO',
     'RIGID',
     'SCAFACOS',
     'SHOCK',
@@ -185,15 +173,9 @@ general_packages = [
 
 # Excluded packages due to requiring additional (non-trivial) deps
 # - ADIOS
-# - LATTE
 # - MESONT (requires very large files downloaded during build)
 # - ML-HDNNP (requires N2P2)
 # - ML-QUIP
-# - MSCG
 # - QMMM (setup seems complex)
 
-# hardware-specific option
-# note: only the highest capability will be used
-# cuda_compute_capabilities = ['9.0']
-
 moduleclass = 'chem'
Diff against LAMMPS-29Aug2024_update2-foss-2024a-kokkos.eb

easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos.eb

diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos.eb
index 19552a6151..4c492fa2ad 100644
--- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos.eb
+++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos.eb
@@ -1,5 +1,5 @@
 name = 'LAMMPS'
-version = '29Aug2024_update2'
+version = '22Jul2025'
 versionsuffix = '-kokkos'
 
 homepage = 'https://www.lammps.org'
@@ -21,14 +21,12 @@ toolchainopts = {'openmp': True, 'usempi': True}
 source_urls = [GITHUB_LOWER_SOURCE]
 sources = ['stable_%(version)s.tar.gz']
 patches = [
-    'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch',
-    'LAMMPS-29Aug2024_unittest_fix.patch'
+    'LAMMPS-22Jul2025_install_lammps_python_package_in_eb_software_module.patch',
 ]
 checksums = [
-    {'stable_29Aug2024_update2.tar.gz': 'f8ca3f021a819ced8658055f7750e235c51b4937ddb621cf1bd7bee08e0b6266'},
-    {'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch':
-     '314ab1064af74ddfcf4091dfe9f90fa32cfa4100e8d01fea7b59b019575a7c51'},
-    {'LAMMPS-29Aug2024_unittest_fix.patch': '05206d961b946bfd7b92c5b3db1b3883cd8c5ae8faea6227fa391650e6fba468'},
+    {'stable_22Jul2025.tar.gz': '38d7ab508433f33a53e11f0502aa0253945ce45d5595baf69665961c0a76da26'},
+    {'LAMMPS-22Jul2025_install_lammps_python_package_in_eb_software_module.patch':
+     '0cab0fa4dc8b2c68b45cd9df4398b9c2c37d69dcd1dc054aacb44f78698a2c84'},
 ]
 
 builddependencies = [
@@ -87,6 +85,7 @@ configopts = ' '.join([
 # include the following extra packages into the build
 general_packages = [
     'AMOEBA',
+    'APIP',
     'ASPHERE',
     'ATC',
     'AWPMD',
@@ -137,6 +136,7 @@ general_packages = [
     'ML-POD',
     'ML-RANN',
     'ML-SNAP',
+    'ML-UEF3',
     'MOFFF',
     'MOLECULE',
     'MOLFILE',
@@ -156,6 +156,7 @@ general_packages = [
     'REACTION',
     'REAXFF',
     'REPLICA',
+    'RHEO',
     'RIGID',
     'SCAFACOS',
     'SHOCK',
@@ -174,7 +175,7 @@ general_packages = [
 # - ADIOS
 # - MESONT (requires very large files downloaded during build)
 # - ML-HDNNP (requires N2P2)
-# - ML-QUIP (requires QUIP)
+# - ML-QUIP
 # - QMMM (setup seems complex)
 
 moduleclass = 'chem'
Diff against LAMMPS-29Aug2024_update2-foss-2024a-kokkos-CUDA-12.6.0.eb

easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos-CUDA-12.6.0.eb

diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos-CUDA-12.6.0.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos.eb
index 13d2df9717..4c492fa2ad 100644
--- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos-CUDA-12.6.0.eb
+++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos.eb
@@ -1,7 +1,6 @@
 name = 'LAMMPS'
-version = '29Aug2024_update2'
-_cuda_suffix = '-CUDA-%(cudaver)s'
-versionsuffix = '-kokkos' + _cuda_suffix
+version = '22Jul2025'
+versionsuffix = '-kokkos'
 
 homepage = 'https://www.lammps.org'
 description = """LAMMPS is a classical molecular dynamics code, and an acronym
@@ -16,35 +15,27 @@ functionality.
 """
 
 toolchain = {'name': 'foss', 'version': '2024a'}
-toolchainopts = {'openmp': True, 'usempi': True, 'extra_cxxflags': '-D_AMXTILEINTRIN_H_INCLUDED'}
-# '-D_AMXTILEINTRIN_H_INCLUDED' flag is required to avoid the following errors,
-# likely due to an incompatibility between the GCC 13.3.0 and NVCC CUDA 12.6.0:
-#   [...]/GCCcore/13.3.0/lib/gcc/x86_64-pc-linux-gnu/13.3.0/include/amxtileintrin.h(42):
-#     error: identifier "__builtin_ia32_ldtilecfg" is undefined
-#   [...]/GCCcore/13.3.0/lib/gcc/x86_64-pc-linux-gnu/13.3.0/include/amxtileintrin.h(49):
-# error: identifier "__builtin_ia32_sttilecfg" is undefined
+toolchainopts = {'openmp': True, 'usempi': True}
 
 # 'https://github.com/lammps/lammps/archive/'
 source_urls = [GITHUB_LOWER_SOURCE]
 sources = ['stable_%(version)s.tar.gz']
 patches = [
-    'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch',
+    'LAMMPS-22Jul2025_install_lammps_python_package_in_eb_software_module.patch',
 ]
 checksums = [
-    {'stable_29Aug2024_update2.tar.gz': 'f8ca3f021a819ced8658055f7750e235c51b4937ddb621cf1bd7bee08e0b6266'},
-    {'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch':
-     '314ab1064af74ddfcf4091dfe9f90fa32cfa4100e8d01fea7b59b019575a7c51'},
+    {'stable_22Jul2025.tar.gz': '38d7ab508433f33a53e11f0502aa0253945ce45d5595baf69665961c0a76da26'},
+    {'LAMMPS-22Jul2025_install_lammps_python_package_in_eb_software_module.patch':
+     '0cab0fa4dc8b2c68b45cd9df4398b9c2c37d69dcd1dc054aacb44f78698a2c84'},
 ]
 
 builddependencies = [
     ('CMake', '3.29.3'),
     ('pkgconf', '2.2.0'),
     ('archspec', '0.2.5'),
+    ('PyYAML', '6.0.2'),  # needed for tests
 ]
 dependencies = [
-    ('CUDA', '12.6.0', '', SYSTEM),
-    ('UCX-CUDA', '1.16.0', _cuda_suffix),
-    ('NCCL', '2.22.3', _cuda_suffix),
     ('Python', '3.12.3'),
     ('libpng', '1.6.43'),
     ('libjpeg-turbo', '3.0.1'),
@@ -94,6 +85,7 @@ configopts = ' '.join([
 # include the following extra packages into the build
 general_packages = [
     'AMOEBA',
+    'APIP',
     'ASPHERE',
     'ATC',
     'AWPMD',
@@ -144,6 +136,7 @@ general_packages = [
     'ML-POD',
     'ML-RANN',
     'ML-SNAP',
+    'ML-UEF3',
     'MOFFF',
     'MOLECULE',
     'MOLFILE',
@@ -163,6 +156,7 @@ general_packages = [
     'REACTION',
     'REAXFF',
     'REPLICA',
+    'RHEO',
     'RIGID',
     'SCAFACOS',
     'SHOCK',
@@ -181,11 +175,7 @@ general_packages = [
 # - ADIOS
 # - MESONT (requires very large files downloaded during build)
 # - ML-HDNNP (requires N2P2)
-# - ML-QUIP (requires QUIP)
+# - ML-QUIP
 # - QMMM (setup seems complex)
 
-# hardware-specific option
-# note: only the highest capability will be used
-# cuda_compute_capabilities = ['9.0']
-
 moduleclass = 'chem'

@Thyre Thyre added the 2024a issues & PRs related to 2024a common toolchains label Aug 20, 2025
@lorisercole lorisercole changed the title {chem}[foss/2024a] LAMMPS v22Jul2025 w/ kokkos, kokkos CUDA 12.6.0 {chem}[foss/2024a] LAMMPS v22Jul2025 w/ kokkos, kokkos CUDA 12.6.0 + unit tests Aug 25, 2025
@lorisercole lorisercole marked this pull request as ready for review August 28, 2025 09:14
Comment thread easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb Outdated
Comment thread easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb Outdated
Comment thread easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024-foss-2023b-kokkos.eb Outdated
Comment thread easybuild/easyconfigs/l/LAMMPS/LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb Outdated
@lorisercole
Copy link
Copy Markdown
Contributor Author

lorisercole commented Nov 17, 2025

I've just rebased the branch to resolve the merge conflicts, and removed the if ARCH == 'x86_64': to install tbb and ScaFaCoS on any arch. I'm going to retest these builds now...

@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Nov 26, 2025

Test report by @laraPPr
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3894
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in total)
node4244.shinx.os - Linux RHEL 9.6 (Plow), x86_64, AMD EPYC 9654 96-Core Processor, Python 3.9.21
See https://gist.github.com/laraPPr/c6d1cce22bc7c8f794c1890bf58a8dfa for a full test report.

@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Nov 27, 2025

Test report by @laraPPr
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3894
FAILED
Build succeeded for 0 out of 2 (2 easyconfigs in total)
node4303.litleo.os - Linux RHEL 9.6 (Plow), x86_64, AMD EPYC 9454P 48-Core Processor, 1 x NVIDIA NVIDIA H100 NVL, 580.95.05, Python 3.9.21
See https://gist.github.com/laraPPr/87f1ad4b256223cadc88dba877845c27 for a full test report.

@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Nov 27, 2025

the msst test failed for the CUDA configs that need an update.

Remove nvcc_wrapper CMake flag: this is already taken care of by the easyblock.
Copy link
Copy Markdown
Contributor

@laraPPr laraPPr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is causing the CI to fail. Can you make the required adjustments or let us know why you want to use mpi4py/3.1.5 for LAMMPS/29Aug2024-upfate2-foss-2024a?

Comment thread easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024_update2-foss-2024a-kokkos.eb Outdated
Comment thread easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.5-gompi-2024a.eb
@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Dec 2, 2025

Test report by @laraPPr
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3894
SUCCESS
Build succeeded for 4 out of 4 (4 easyconfigs in total)
node4212.shinx.os - Linux RHEL 9.6 (Plow), x86_64, AMD EPYC 9654 96-Core Processor, Python 3.9.21
See https://gist.github.com/laraPPr/47851c53da35f531cf87a2cc1675c4b9 for a full test report.

@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Dec 2, 2025

Test report by @laraPPr
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3894
FAILED
Build succeeded for 2 out of 4 (4 easyconfigs in total)
node4307.litleo.os - Linux RHEL 9.6 (Plow), x86_64, AMD EPYC 9454P 48-Core Processor, 1 x NVIDIA NVIDIA H100 NVL, 580.95.05, Python 3.9.21
See https://gist.github.com/laraPPr/4f76a495f2c25a56aadd6d17d1196605 for a full test report.

@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Dec 3, 2025

Some more info on the failed builds because the logs are not that clear

== FAILED: Installation ended unsuccessfully: Sanity check failed: sanity check command cd 

/tmp/eb-zeyr_085/tmpg9v6y7n_ && mpirun -n 4 python -c 'from lammps import lammps; l=lammps(cmdargs=["-sf", 

"intel"]).file("/data/gent/vo/000/gvo00002/vsc46128/easybuild/RHEL9/zen4-hopper-ib/software/LAMMPS/29Aug2024_update2-f

oss-2023b-kokkos-CUDA-12.4.0/examples/msst/in.msst") if "INTEL" in lammps().installed_packages else None; l.finalize()

if l else None' failed with exit code 1 (output: LAMMPS (29 Aug 2024 - Update 2)

OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)

  using 1 OpenMP thread(s) per MPI task

Total wall time: 0:00:00

--------------------------------------------------------------------------

mpirun has exited due to process rank 2 with PID 0 on

node node4301 exiting improperly. There are three reasons this could occur:



1. this process did not call "init" before exiting, but others in

the job did. This can cause a job to hang indefinitely while it waits

for all processes to call "init". By rule, if one process calls "init",

then ALL processes must call "init" prior to termination.



2. this process called "init", but exited without calling "finalize".

By rule, all processes that call "init" MUST call "finalize" prior to

exiting or it will be considered an "abnormal termination"



3. this process called "MPI_Abort" or "orte_abort" and the mca parameter

orte_create_session_dirs is set to false. In this case, the run-time cannot

detect that the abort call was an abnormal termination. Hence, the only

error message you will receive is this one.



This may have caused other processes in the application to be

terminated by signals sent by mpirun (as reported here).



You can avoid this message by specifying -quiet on the mpirun command line.

--------------------------------------------------------------------------

) (took 1 min 40 secs)

== Results of the build can be found in the log file(s) 

/tmp/eb-zeyr_085/easybuild-LAMMPS-29Aug2024_update2-20251203.130802.odqXi.log

== Summary:

   * [FAILED]  LAMMPS/29Aug2024_update2-foss-2023b-kokkos-CUDA-12.4.0

   * [SKIPPED] LAMMPS/29Aug2024_update2-foss-2024a-kokkos-CUDA-12.6.0

0:01:40  0 out of 2 easyconfigs done

ERROR: Installation of LAMMPS-29Aug2024_update2-foss-2023b-kokkos-CUDA-12.4.0.eb failed: 'Sanity check failed: sanity check command cd /tmp/eb-zeyr_085/tmpg9v6y7n_ && mpirun -n 4 python -c \'from lammps import lammps; l=lammps(cmdargs=["-sf", "intel"]).file("/data/gent/vo/000/gvo00002/vsc46128/easybuild/RHEL9/zen4-hopper-ib/software/LAMMPS/29Aug2024_update2-foss-2023b-kokkos-CUDA-12.4.0/examples/msst/in.msst") if "INTEL" in lammps().installed_packages else None; l.finalize() if l else None\' failed with exit code 1 (output: LAMMPS (29 Aug 2024 - Update 2)\nOMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)\n  using 1 OpenMP thread(s) per MPI task\nTotal wall time: 0:00:00\n--------------------------------------------------------------------------\nmpirun has exited due to process rank 2 with PID 0 on\nnode node4301 exiting improperly. There are three reasons this could occur:\n\n1. this process did not call "init" before exiting, but others in\nthe job did. This can cause a job to hang indefinitely while it waits\nfor all processes to call "init". By rule, if one process calls "init",\nthen ALL processes must call "init" prior to termination.\n\n2. this process called "init", but exited without calling "finalize".\nBy rule, all processes that call "init" MUST call "finalize" prior to\nexiting or it will be considered an "abnormal termination"\n\n3. this process called "MPI_Abort" or "orte_abort" and the mca parameter\norte_create_session_dirs is set to false. In this case, the run-time cannot\ndetect that the abort call was an abnormal termination. Hence, the only\nerror message you will receive is this one.\n\nThis may have caused other processes in the application to be\nterminated by signals sent by mpirun (as reported here).\n\nYou can avoid this message by specifying -quiet on the mpirun command line.\n--------------------------------------------------------------------------\n)'


Copy link
Copy Markdown
Contributor

@laraPPr laraPPr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this missing be the reason why these two configs failed, @lorisercole?

@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Dec 11, 2025

@boegelbot please test @ jsc-zen3 EB_ARGS="LAMMPS-22Jul2025-foss-2024a-kokkos.eb LAMMPS-29Aug2024-foss-2023b-kokkos.eb LAMMPS-29Aug2024_update2-foss-2023a-kokkos.eb LAMMPS-29Aug2024_update2-foss-2024a-kokkos.eb"

@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Dec 11, 2025

@boegelbot please test @ jsc-zen3-a100 EB_ARGS="LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb LAMMPS-28Oct2024-foss-2023a-kokkos-mace-CUDA-12.1.1.eb LAMMPS-29Aug2024_update2-foss-2023b-kokkos-CUDA-12.4.0.eb LAMMPS-29Aug2024_update2-foss-2024a-kokkos-CUDA-12.6.0.eb"

@boegelbot
Copy link
Copy Markdown
Collaborator

@laraPPr: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=23719 EB_ARGS="LAMMPS-22Jul2025-foss-2024a-kokkos-CUDA-12.6.0.eb LAMMPS-28Oct2024-foss-2023a-kokkos-mace-CUDA-12.1.1.eb LAMMPS-29Aug2024_update2-foss-2023b-kokkos-CUDA-12.4.0.eb LAMMPS-29Aug2024_update2-foss-2024a-kokkos-CUDA-12.6.0.eb" EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_23719 --ntasks=8 --partition=jsczen3g --gres=gpu:1 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9086

Test results coming soon (I hope)...

Details

- notification for comment with ID 3641257205 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 4 out of 4 (total: 5 hours 8 mins 8 secs) (4 easyconfigs in total)
jsczen3g1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), 1 x NVIDIA NVIDIA A100 80GB PCIe, 580.95.05, Python 3.9.21
See https://gist.github.com/boegelbot/a812727bee2b9d02a28da418e982db3b for a full test report.

@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Dec 12, 2025

@boegelbot please test @ jsc-zen3 EB_ARGS="LAMMPS-22Jul2025-foss-2024a-kokkos.eb LAMMPS-29Aug2024-foss-2023b-kokkos.eb LAMMPS-29Aug2024_update2-foss-2023a-kokkos.eb LAMMPS-29Aug2024_update2-foss-2024a-kokkos.eb"

@boegelbot
Copy link
Copy Markdown
Collaborator

@laraPPr: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=23719 EB_ARGS="LAMMPS-22Jul2025-foss-2024a-kokkos.eb LAMMPS-29Aug2024-foss-2023b-kokkos.eb LAMMPS-29Aug2024_update2-foss-2023a-kokkos.eb LAMMPS-29Aug2024_update2-foss-2024a-kokkos.eb" EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_23719 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9102

Test results coming soon (I hope)...

Details

- notification for comment with ID 3645712030 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

Copy link
Copy Markdown
Contributor

@laraPPr laraPPr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Dec 12, 2025

Test report by @laraPPr
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3894
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
node4302.litleo.os - Linux RHEL 9.6 (Plow), x86_64, AMD EPYC 9454P 48-Core Processor, 1 x NVIDIA NVIDIA H100 NVL, 580.95.05, Python 3.9.21
See https://gist.github.com/laraPPr/402f5d7087e3cbd74b0fe6427e009562 for a full test report.

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 4 out of 4 (total: 2 hours 9 mins 35 secs) (4 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/eeb9d72e8ba9a1bb5d897bfad5b06010 for a full test report.

@laraPPr laraPPr added this to the next release (5.2.0?) milestone Dec 12, 2025
@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Dec 12, 2025

Going in, thanks @lorisercole!

1 similar comment
@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Dec 12, 2025

Going in, thanks @lorisercole!

@laraPPr
Copy link
Copy Markdown
Contributor

laraPPr commented Dec 12, 2025

Going in, thanks @lorisercole!

@laraPPr laraPPr merged commit 95a9271 into easybuilders:develop Dec 12, 2025
8 checks passed
@boegel boegel changed the title {chem}[foss/2024a] LAMMPS v22Jul2025 w/ kokkos, kokkos CUDA 12.6.0 + unit tests {chem}[foss/2024a] LAMMPS v29Aug2024 + v22Jul2025 w/ kokkos, CUDA 12.6.0 + unit tests Dec 19, 2025
@lorisercole lorisercole deleted the LAMMPS-2025 branch February 19, 2026 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2023a 2023b 2024a issues & PRs related to 2024a common toolchains change update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants