Skip to content

Commit 5ae7e9f

Browse files
authored
Merge pull request easybuilders#25455 from jngrad/espresso-500-foss-2025a
{chem}[GCC/14.2.0,foss/2025a,gompi/2025a] ESPResSo v5.0.1, Cabana v0.7.0, Kokkos v5.0.2, HighFive v3.3.0
2 parents dfcb90f + 217d9a3 commit 5ae7e9f

4 files changed

Lines changed: 185 additions & 0 deletions

File tree

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
easyblock = 'CMakeMake'
2+
3+
name = 'Cabana'
4+
version = '0.7.0'
5+
6+
homepage = 'https://github.com/ECP-copa/Cabana'
7+
description = '''
8+
Cabana is a performance portable library for particle-based simulations. Applications include,
9+
but are not limited to, molecular dynamics (MD) with short- and/or long-range atomic
10+
interactions; various flavors of particle-in-cell (PIC) methods, including use within
11+
fluid/solid mechanics and plasma physics; N-body cosmology simulations; and peridynamics
12+
for fracture mechanics.
13+
14+
Cabana provides particle data structures, algorithms, and communication, as well as
15+
structured grids, grid algorithms, and particle-grid interpolation to enable simulations
16+
on a variety of platforms including many-core CPU and GPU architectures. Cabana is built
17+
on Kokkos, with many additional optional library dependencies, including MPI for multi-node
18+
simulation.
19+
'''
20+
21+
toolchain = {'name': 'foss', 'version': '2025a'}
22+
toolchainopts = {'openmp': True}
23+
24+
github_account = 'ECP-copa'
25+
source_urls = [GITHUB_SOURCE]
26+
sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}]
27+
checksums = ['3d46532144ea9a3f36429a65cccb7562d1244f1389dd8aff0d253708d1ec9838']
28+
29+
builddependencies = [
30+
('CMake', '3.31.3'),
31+
]
32+
33+
dependencies = [
34+
('HeFFTe', '2.4.1'),
35+
('Kokkos', '5.0.2'),
36+
('HDF5', '1.14.6'),
37+
]
38+
39+
configopts = '-DCabana_ENABLE_TESTING=OFF '
40+
configopts += '-DCabana_REQUIRE_OPENMP=ON '
41+
configopts += '-DCabana_REQUIRE_HEFFTE=ON '
42+
configopts += '-DCabana_REQUIRE_HDF5=ON '
43+
configopts += '-DCabana_BUILD_MARCH="" '
44+
45+
runtest = False
46+
47+
sanity_check_paths = {
48+
'files': [
49+
'lib/cmake/Cabana/CabanaConfig.cmake',
50+
'include/Cabana_Core.hpp',
51+
],
52+
'dirs': ['include', 'lib']
53+
}
54+
55+
moduleclass = 'lib'
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name = 'ESPResSo'
2+
version = '5.0.1'
3+
4+
homepage = 'https://espressomd.org/wordpress'
5+
description = """A software package for Molecular Dynamics and Monte Carlo
6+
simulations of bead-spring models, with electrostatics, magnetostatics,
7+
hydrodynamics and reaction-diffusion-advection solvers."""
8+
9+
sources = [
10+
{
11+
'source_urls': ['https://github.com/espressomd/espresso/archive/'],
12+
'filename': 'espresso-%(version)s.tar.gz',
13+
'download_filename': '%(version)s.tar.gz',
14+
},
15+
{
16+
'source_urls': ['https://i10git.cs.fau.de/walberla/walberla/-/archive/'],
17+
# using specific waLBerla commit, because most recent release (v7.2) is missing bugfixes that prevent packaging
18+
'filename': 'walberla-3247aa73.tar.gz',
19+
'download_filename': '3247aa73.tar.gz',
20+
},
21+
]
22+
checksums = [
23+
{'espresso-5.0.1.tar.gz': '92b314c39e7715a9a8c347269bf2ffb8c85c23d6dfcadd3d81a7e04b67d89589'},
24+
{'walberla-3247aa73.tar.gz': 'd297b462e9ad2107ee968439266855b97aafaef39ef0b82f72129630116db059'},
25+
]
26+
27+
toolchain = {'name': 'foss', 'version': '2025a'}
28+
toolchainopts = {'openmp': True, 'usempi': True, 'pic': True}
29+
30+
builddependencies = [
31+
('CMake', '3.31.3'),
32+
('Ninja', '1.12.1'),
33+
('Cython', '3.1.1'),
34+
]
35+
36+
dependencies = [
37+
('Python', '3.13.1'),
38+
('SciPy-bundle', '2025.06'),
39+
('Boost.MPI', '1.88.0'),
40+
('HeFFTe', '2.4.1'),
41+
('Kokkos', '5.0.2'),
42+
('Cabana', '0.7.0'),
43+
('Mesa', '25.1.3'),
44+
('GSL', '2.8'),
45+
('NLopt', '2.10.0'),
46+
('IPython', '9.3.0'),
47+
('Pint', '0.24.4'),
48+
('HDF5', '1.14.6'),
49+
('h5py', '3.14.0'),
50+
('HighFive', '3.3.0'),
51+
('VTK', '9.5.0'),
52+
]
53+
54+
moduleclass = 'chem'
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
easyblock = 'CMakeMake'
2+
3+
name = 'HighFive'
4+
version = '3.3.0'
5+
6+
homepage = 'https://github.com/highfive-devs/highfive'
7+
description = """HighFive is a modern, user-friendly, header-only, C++14 interface for libhdf5."""
8+
9+
toolchain = {'name': 'gompi', 'version': '2025a'}
10+
11+
github_account = 'highfive-devs'
12+
source_urls = [GITHUB_SOURCE]
13+
sources = ['v%(version)s.tar.gz']
14+
checksums = ['325cfbcf0c0296a6dd26f3b088801b7ebb8d6f109c0565c11d2d8c4af3253bff']
15+
16+
builddependencies = [
17+
('CMake', '3.31.3'),
18+
('binutils', '2.42'),
19+
]
20+
21+
dependencies = [
22+
('HDF5', '1.14.6'),
23+
('Boost', '1.88.0'),
24+
('Eigen', '3.4.0'),
25+
]
26+
27+
sanity_check_paths = {
28+
'files': ['include/highfive/H5File.hpp'],
29+
'dirs': [],
30+
}
31+
32+
configopts = '-DHIGHFIVE_UNIT_TESTS=OFF '
33+
configopts += '-DHIGHFIVE_EXAMPLES=OFF '
34+
configopts += '-DHIGHFIVE_BUILD_DOCS=OFF '
35+
configopts += '-DHIGHFIVE_USE_EIGEN=ON '
36+
configopts += '-DHIGHFIVE_PARALLEL_HDF5=ON '
37+
38+
moduleclass = 'lib'
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name = 'Kokkos'
2+
version = '5.0.2'
3+
4+
homepage = 'https://kokkos.org/'
5+
description = '''
6+
Kokkos Core implements a programming model in C++ for writing performance portable applications
7+
targeting all major HPC platforms. For that purpose it provides abstractions for both parallel
8+
execution of code and data management. Kokkos is designed to target complex node architectures
9+
with N-level memory hierarchies and multiple types of execution resources. It currently can use
10+
CUDA, HIP, SYCL, HPX, OpenMP and C++ threads as backend programming models with several other
11+
backends in development.
12+
'''
13+
14+
github_account = 'kokkos'
15+
source_urls = [GITHUB_SOURCE]
16+
sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}]
17+
checksums = [
18+
# Kokkos-5.0.2.tar.gz
19+
'd826f2e0bf1bc3515b4887e3a2594c7fb7a2b5b005dd8798242a8fd1953a9a21',
20+
]
21+
22+
toolchain = {'name': 'GCC', 'version': '14.2.0'}
23+
toolchainopts = {'openmp': True, 'pic': True}
24+
25+
builddependencies = [
26+
('CMake', '3.31.3'),
27+
]
28+
29+
dependencies = [
30+
('hwloc', '2.11.2'),
31+
]
32+
33+
# enable legacy features for Cabana 0.7.0
34+
configopts = ' -DKokkos_ENABLE_IMPL_VIEW_LEGACY=ON'
35+
configopts += ' -DKokkos_ENABLE_DEPRECATED_CODE_4=ON'
36+
configopts += ' -DKokkos_ENABLE_DEPRECATED_CODE_5=ON'
37+
38+
moduleclass = 'lib'

0 commit comments

Comments
 (0)