diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lfoss-2025b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lfoss-2025b.eb new file mode 100644 index 00000000000..01225ad3c14 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lfoss-2025b.eb @@ -0,0 +1,88 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2016 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, +# Ghent University / The Francis Crick Institute +# Authors:: +# * Wiktor Jurkowski +# * Fotis Georgatos +# * George Tsouloupas +# * Kenneth Hoste +# * Adam Huffman +# * Ake Sandgren +# * J. Sassmannshausen +# * Dugan Witherick +# * Christoph Siegert +# License:: MIT/GPL + +name = 'GROMACS' +version = '2025.2' + +homepage = 'https://www.gromacs.org' +description = """ +GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the +Newtonian equations of motion for systems with hundreds to millions of +particles. + +This is a CPU only build, containing both MPI and threadMPI binaries +for both single and double precision. + +It also contains the gmxapi extension for the single precision MPI build. +""" + +toolchain = {'name': 'lfoss', 'version': '2025b'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = [ + 'https://ftp.gromacs.org/pub/gromacs/', + 'ftp://ftp.gromacs.org/pub/gromacs/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch', + 'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch', +] +checksums = [ + {'gromacs-2025.2.tar.gz': '0df09f9d45a99ef00e66b9baa9493a27e906813763a3b6c7672217c66b43ea11'}, + {'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch': + '7f41bda16c9c2837624265dda4be252f655d1288ddc4486b1a2422af30d5d199'}, + {'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch': + '6df844bb3bbc51180446a3595c61a4ef195e5f975533a04cef76841aa763aec1'}, +] + +builddependencies = [ + ('CMake', '4.0.3'), + ('scikit-build-core', '0.11.5'), + ('pybind11', '3.0.0'), +] + +dependencies = [ + ('Python', '3.13.5'), + ('SciPy-bundle', '2025.07'), + ('networkx', '3.5'), + ('mpi4py', '4.1.0'), +] + +# be a bit more forgiving w.r.t. timeouts for GROMACS test suite, +# see also https://gitlab.com/gromacs/gromacs/-/issues/5062 +configopts = "-DGMX_TEST_TIMEOUT_FACTOR=3" + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], +} + +exts_list = [ + ('gmxapi', '0.4.2', { + 'patches': ['GROMACS-2025.2_gmxapi-remove-builddependencies.patch'], + 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', + 'checksums': [ + {'gmxapi-0.4.2.tar.gz': 'c746c6498c73a75913d7fcb01c13cc001d4bcb82999e9bf91d63578565ed1a1f'}, + {'GROMACS-2025.2_gmxapi-remove-builddependencies.patch': + 'd35eedea75167a88cd1c74df4c201b666ec9f8aef00f0fc6136380e36eb1e0e5'}, + ], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HPCG/HPCG-3.1-lfoss-2025b.eb b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-lfoss-2025b.eb new file mode 100644 index 00000000000..aa0cbd8f732 --- /dev/null +++ b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-lfoss-2025b.eb @@ -0,0 +1,26 @@ +name = 'HPCG' +version = '3.1' + +homepage = 'https://software.sandia.gov/hpcg' +description = """The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than + the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.""" + +toolchain = {'name': 'lfoss', 'version': '2025b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['http://www.hpcg-benchmark.org/downloads'] +sources = [SOURCELOWER_TAR_GZ] +# Newer compilers require loop's upper-bound variable to be +# explicitly designated as private/shared/firstprivate/lastprivate +patches = ['HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch'] +checksums = [ + '33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4', # hpcg-3.1.tar.gz + # HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch + '23b9de83042eb7a8207fdddcfa79ae2cc1a17e8e623e2224c7751d7c328ee482', +] + +preconfigopts = 'sed -i "s|-ftree-vectorizer-verbose=0||g" %(start_dir)s/setup/Make.MPI_GCC_OMP && ' + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-lfoss-2025b.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-lfoss-2025b.eb new file mode 100644 index 00000000000..b97550b7b07 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-lfoss-2025b.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'lfoss', 'version': '2025b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mpi4py/mpi4py-4.1.0-lompi-2025b.eb b/easybuild/easyconfigs/m/mpi4py/mpi4py-4.1.0-lompi-2025b.eb new file mode 100644 index 00000000000..7df3e52b16d --- /dev/null +++ b/easybuild/easyconfigs/m/mpi4py/mpi4py-4.1.0-lompi-2025b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'mpi4py' +version = '4.1.0' + +homepage = 'https://github.com/mpi4py/mpi4py' +description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for + the Python programming language, allowing any Python program to exploit multiple processors.""" + +toolchain = {'name': 'lompi', 'version': '2025b'} + +builddependencies = [ + ('Cython', '3.1.2'), +] + +dependencies = [ + ('Python', '3.13.5'), +] + +exts_list = [ + (name, version, { + 'checksums': ['817492796bce771ccd809a6051cf68d48689815493b567a696ce7679260449cd'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/networkx/networkx-3.5-lfbf-2025b.eb b/easybuild/easyconfigs/n/networkx/networkx-3.5-lfbf-2025b.eb new file mode 100644 index 00000000000..e63492063d0 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-3.5-lfbf-2025b.eb @@ -0,0 +1,20 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '3.5' + +homepage = 'https://pypi.python.org/pypi/networkx' +description = """NetworkX is a Python package for the creation, manipulation, +and study of the structure, dynamics, and functions of complex networks.""" + +toolchain = {'name': 'lfbf', 'version': '2025b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d4c6f9cf81f52d69230866796b82afbccdec3db7ae4fbd1b65ea750feed50037'] + +dependencies = [ + ('Python', '3.13.5'), + ('SciPy-bundle', '2025.07'), # required for numpy, scipy, ... +] + +moduleclass = 'tools'