Skip to content

{numlib}[foss/2024a] PETSc v3.22.0, ParMETIS v4.0.3, SuperLU_DIST v9.0.0 #21697

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 13 commits into
base: develop
Choose a base branch
from

Conversation

maxim-masterov
Copy link
Collaborator

@maxim-masterov maxim-masterov commented Oct 18, 2024

(created using eb --new-pr)

Note that ParMETIS was moved from glaros.dtc.umn.edu to GitHub. The former URL is not working anymore and the new GitHub repository contains no tags or releases (see this issue). After some browsing, I found the versioned tarball among the static downloads for CP2K, so I'm using it to get the package. Let me know if you have a better idea about where to fetch it from.

Depends on:

@maxim-masterov maxim-masterov added the 2024a issues & PRs related to 2024a common toolchains label Oct 18, 2024
@maxim-masterov
Copy link
Collaborator Author

removed SuiteSparse-7.8.2-foss-2024a-METIS-5.1.0.eb because it was recently merged with #21417

@maxim-masterov maxim-masterov changed the title {numlib}[foss/2024a] Hypre v2.31.0, MUMPS v5.7.3, PETSc v3.22.0, ... w/ METIS 5.1.0, metis {numlib}[foss/2024a] Hypre v2.31.0, MUMPS v5.7.3, PETSc v3.22.0, ParMETIS v4.0.3, SCOTCH v7.0.5, SuiteSparse v7.8.2, SuperLU_DIST v9.0.0 Dec 11, 2024
@smoors
Copy link
Contributor

smoors commented Dec 12, 2024

Note that ParMETIS was moved from glaros.dtc.umn.edu to GitHub. The former URL is not working anymore and the new GitHub repository contains no tags or releases (see this issue). After some browsing, I found the versioned tarball among the static downloads for CP2K, so I'm using it to get the package. Let me know if you have a better idea about where to fetch it from.

you could take the tarball from this commit, which is the initial import of v4.0.3:
KarypisLab/ParMETIS@d90a2a6
https://github.com/KarypisLab/ParMETIS/archive/d90a2a6.tar.gz

i compared the contents with the original 4.0.3 tarball; the only important difference is that the commit does not contain the metis sources. This can be fixed by adding METIS as a dependency for ParMETIS, which is a cleaner approach in any case. Nix also uses the same commit: NixOS/nixpkgs#329102

but the CP2K tarball has the same checksum as the original, so i'm not against just using that.

let us know what you decide?

@maxim-masterov
Copy link
Collaborator Author

I think it's better to use the static tarball for now, until KarypisLab/ParMETIS#27 and KarypisLab/ParMETIS#26 are resolved.

@casparvl
Copy link
Contributor

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

@casparvl: 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=21697 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_21697 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

- notification for comment with ID 2977038463 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).

@casparvl
Copy link
Contributor

Hmmm, local build failed with:

ERROR: Installation of PETSc-3.22.0-foss-2024a.eb failed: "Couldn't find file petsc-3.22.0.tar.gz anywhere, and downloading it didn't work either... Paths attempted (in order): /scratch-shared/casparl/eb-tcmmd5lm/files_pr21697/p/PETSc/p/PETSc/petsc-3.22.0.tar.gz, /scratch-shared/casparl/eb-tcmmd5lm/files_pr21697/p/PETSc/PETSc/petsc-3.22.0.tar.gz, /scratch-shared/casparl/eb-tcmmd5lm/files_pr21697/p/PETSc/petsc-3.22.0.tar.gz, /sw/eb/easyconfigs-surf/p/PETSc/petsc-3.22.0.tar.gz, /sw/eb/easyconfigs-surf/PETSc/petsc-3.22.0.tar.gz, /sw/eb/easyconfigs-surf/petsc-3.22.0.tar.gz, /sw/noarch/RHEL8/2023/software/EasyBuild/5.1.0/easybuild/easyconfigs/p/PETSc/petsc-3.22.0.tar.gz, /sw/noarch/RHEL8/2023/software/EasyBuild/5.1.0/easybuild/easyconfigs/PETSc/petsc-3.22.0.tar.gz, /sw/noarch/RHEL8/2023/software/EasyBuild/5.1.0/easybuild/easyconfigs/petsc-3.22.0.tar.gz, /scratch-shared/casparl/eb-tcmmd5lm/files_pr21697/p/PETSc/petsc-3.22.0.tar.gz, /scratch-shared/casparl/eb-tcmmd5lm/files_pr21697/PETSc/petsc-3.22.0.tar.gz, /scratch-shared/casparl/eb-tcmmd5lm/files_pr21697/petsc-3.22.0.tar.gz, /sw/noarch/RHEL8/2023/software/EasyBuild/5.1.0/easybuild/easyconfigs/p/PETSc/petsc-3.22.0.tar.gz, /sw/noarch/RHEL8/2023/software/EasyBuild/5.1.0/easybuild/easyconfigs/PETSc/petsc-3.22.0.tar.gz, /sw/noarch/RHEL8/2023/software/EasyBuild/5.1.0/easybuild/easyconfigs/petsc-3.22.0.tar.gz, /home/casparl/.local/easybuild/sources/p/PETSc/petsc-3.22.0.tar.gz, /home/casparl/.local/easybuild/sources/PETSc/petsc-3.22.0.tar.gz, /home/casparl/.local/easybuild/sources/petsc-3.22.0.tar.gz, https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-3.22.0.tar.gz, https://sources.easybuild.io/p/PETSc/petsc-3.22.0.tar.gz "

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
FAILED
Build succeeded for 6 out of 7 (7 easyconfigs in total)
jsczen3c2.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.5, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/ff11445365478c3bf5f981f01d6f7f6b for a full test report.

@casparvl
Copy link
Contributor

Weird, the link https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-3.22.0.tar.gz looks ok, and if I use wget it downloads successfully.

@casparvl
Copy link
Contributor

Test report by @casparvl
FAILED
Build succeeded for 6 out of 7 (7 easyconfigs in total)
tcn1.local.snellius.surf.nl - Linux RHEL 9.4, x86_64, AMD EPYC 7H12 64-Core Processor, Python 3.9.18
See https://gist.github.com/casparvl/610cb19f8a00ba1943778b407c0cd76d for a full test report.

@casparvl
Copy link
Contributor

Test report by @casparvl
SUCCESS
Build succeeded for 7 out of 7 (7 easyconfigs in total)
tcn2.local.snellius.surf.nl - Linux RHEL 9.4, x86_64, AMD EPYC 7H12 64-Core Processor, Python 3.9.18
See https://gist.github.com/casparvl/49a813481342fb209fcb213765e66da3 for a full test report.

Copy link

github-actions bot commented Jun 22, 2025

Updated software PETSc-3.22.0-foss-2024a.eb

Diff against PETSc-3.22.5-foss-2023b.eb

easybuild/easyconfigs/p/PETSc/PETSc-3.22.5-foss-2023b.eb

diff --git a/easybuild/easyconfigs/p/PETSc/PETSc-3.22.5-foss-2023b.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.22.0-foss-2024a.eb
index 39c6e3439d..f2fe547228 100644
--- a/easybuild/easyconfigs/p/PETSc/PETSc-3.22.5-foss-2023b.eb
+++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.22.0-foss-2024a.eb
@@ -3,35 +3,35 @@
 # Author:    Jasper Grimm (UoY)
 ##
 name = 'PETSc'
-version = '3.22.5'
+version = '3.22.0'
 
 homepage = 'https://www.mcs.anl.gov/petsc'
 description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the
  scalable (parallel) solution of scientific applications modeled by partial differential equations."""
 
-toolchain = {'name': 'foss', 'version': '2023b'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'openmp': True, 'usempi': True, 'pic': True}
 
 source_urls = [
     'https://web.cels.anl.gov/projects/petsc/download/release-snapshots',
 ]
 sources = [SOURCELOWER_TAR_GZ]
-checksums = ['984dba48bd26e7b17d42c078fc4f74d59e9cbc437ee25a8635865eeca9f5dd28']
+checksums = ['2c03f7c0f7ad2649240d4989355cf7fb7f211b75156cd7d424e1d9dd7dfb290b']
 
-builddependencies = [('CMake', '3.27.6')]
+builddependencies = [('CMake', '3.29.3')]
 
 dependencies = [
-    ('Python', '3.11.5'),
-    ('SciPy-bundle', '2023.11'),
-    ('Boost', '1.83.0'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('Boost', '1.85.0'),
     ('METIS', '5.1.0'),
-    ('SCOTCH', '7.0.4'),
-    ('MUMPS', '5.6.1', '-metis'),
-    ('SuiteSparse', '7.7.0'),
-    ('Hypre', '2.31.0'),
+    ('SCOTCH', '7.0.6'),
+    ('MUMPS', '5.7.2', '-metis'),
+    ('SuiteSparse', '7.10.1'),
+    ('Hypre', '2.32.0'),
     ('ParMETIS', '4.0.3'),
-    ('SuperLU_DIST', '8.2.1'),
-    ('mpi4py', '3.1.5'),
+    ('SuperLU_DIST', '9.0.0'),
+    ('mpi4py', '4.0.1'),
 ]
 
 configopts = '--LIBS="$LIBS -lrt" --with-mpi4py=0 '
Diff against PETSc-3.20.3-foss-2023a.eb

easybuild/easyconfigs/p/PETSc/PETSc-3.20.3-foss-2023a.eb

diff --git a/easybuild/easyconfigs/p/PETSc/PETSc-3.20.3-foss-2023a.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.22.0-foss-2024a.eb
index 7c4db8a364..f2fe547228 100644
--- a/easybuild/easyconfigs/p/PETSc/PETSc-3.20.3-foss-2023a.eb
+++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.22.0-foss-2024a.eb
@@ -3,35 +3,35 @@
 # Author:    Jasper Grimm (UoY)
 ##
 name = 'PETSc'
-version = '3.20.3'
+version = '3.22.0'
 
 homepage = 'https://www.mcs.anl.gov/petsc'
 description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the
  scalable (parallel) solution of scientific applications modeled by partial differential equations."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'openmp': True, 'usempi': True, 'pic': True}
 
 source_urls = [
     'https://web.cels.anl.gov/projects/petsc/download/release-snapshots',
 ]
 sources = [SOURCELOWER_TAR_GZ]
-checksums = ['75a94fb44df0512f51ad093fa784e56b61f51b7ead5956fbe49185c203f8c245']
+checksums = ['2c03f7c0f7ad2649240d4989355cf7fb7f211b75156cd7d424e1d9dd7dfb290b']
 
-builddependencies = [('CMake', '3.26.3')]
+builddependencies = [('CMake', '3.29.3')]
 
 dependencies = [
-    ('Python', '3.11.3'),
-    ('SciPy-bundle', '2023.07'),
-    ('Boost', '1.82.0'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('Boost', '1.85.0'),
     ('METIS', '5.1.0'),
-    ('SCOTCH', '7.0.3'),
-    ('MUMPS', '5.6.1', '-metis'),
-    ('SuiteSparse', '7.1.0'),
-    ('Hypre', '2.29.0'),
+    ('SCOTCH', '7.0.6'),
+    ('MUMPS', '5.7.2', '-metis'),
+    ('SuiteSparse', '7.10.1'),
+    ('Hypre', '2.32.0'),
     ('ParMETIS', '4.0.3'),
-    ('SuperLU_DIST', '8.1.2'),
-    ('mpi4py', '3.1.4'),
+    ('SuperLU_DIST', '9.0.0'),
+    ('mpi4py', '4.0.1'),
 ]
 
 configopts = '--LIBS="$LIBS -lrt" --with-mpi4py=0 '
Diff against PETSc-3.19.2-foss-2022b.eb

easybuild/easyconfigs/p/PETSc/PETSc-3.19.2-foss-2022b.eb

diff --git a/easybuild/easyconfigs/p/PETSc/PETSc-3.19.2-foss-2022b.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.22.0-foss-2024a.eb
index 1a49fec088..f2fe547228 100644
--- a/easybuild/easyconfigs/p/PETSc/PETSc-3.19.2-foss-2022b.eb
+++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.22.0-foss-2024a.eb
@@ -3,36 +3,35 @@
 # Author:    Jasper Grimm (UoY)
 ##
 name = 'PETSc'
-version = '3.19.2'
+version = '3.22.0'
 
 homepage = 'https://www.mcs.anl.gov/petsc'
 description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the
  scalable (parallel) solution of scientific applications modeled by partial differential equations."""
 
-toolchain = {'name': 'foss', 'version': '2022b'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'openmp': True, 'usempi': True, 'pic': True}
 
 source_urls = [
-    'https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/',
-    'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/',
+    'https://web.cels.anl.gov/projects/petsc/download/release-snapshots',
 ]
 sources = [SOURCELOWER_TAR_GZ]
-checksums = ['114f363f779bb16839b25c0e70f8b0ae0d947d50e72f7c6cddcb11b001079b16']
+checksums = ['2c03f7c0f7ad2649240d4989355cf7fb7f211b75156cd7d424e1d9dd7dfb290b']
 
-builddependencies = [('CMake', '3.24.3')]
+builddependencies = [('CMake', '3.29.3')]
 
 dependencies = [
-    ('Python', '3.10.8'),
-    ('SciPy-bundle', '2023.02'),
-    ('Boost', '1.81.0'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('Boost', '1.85.0'),
     ('METIS', '5.1.0'),
-    ('SCOTCH', '7.0.3'),
-    ('MUMPS', '5.6.1', '-metis'),
-    ('SuiteSparse', '5.13.0', '-METIS-5.1.0'),
-    ('Hypre', '2.27.0'),
+    ('SCOTCH', '7.0.6'),
+    ('MUMPS', '5.7.2', '-metis'),
+    ('SuiteSparse', '7.10.1'),
+    ('Hypre', '2.32.0'),
     ('ParMETIS', '4.0.3'),
-    ('SuperLU_DIST', '8.1.2'),
-    ('mpi4py', '3.1.4'),
+    ('SuperLU_DIST', '9.0.0'),
+    ('mpi4py', '4.0.1'),
 ]
 
 configopts = '--LIBS="$LIBS -lrt" --with-mpi4py=0 '

Updated software ParMETIS-4.0.3-gompi-2024a.eb

Diff against ParMETIS-4.0.3-iimpi-2023b.eb

easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2023b.eb

diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2023b.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2024a.eb
index c84c98148d..a39fe73cb4 100644
--- a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2023b.eb
+++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2024a.eb
@@ -4,24 +4,25 @@
 name = 'ParMETIS'
 version = '4.0.3'
 
-homepage = 'https://karypis.github.io/glaros/projects/gp.html'
+homepage = 'https://github.com/KarypisLab/ParMETIS'
 description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning
  unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the
  functionality provided by METIS and includes routines that are especially suited for parallel AMR computations and
  large scale numerical simulations. The algorithms implemented in ParMETIS are based on the parallel multilevel k-way
  graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning schemes."""
 
-toolchain = {'name': 'iimpi', 'version': '2023b'}
+toolchain = {'name': 'gompi', 'version': '2024a'}
 toolchainopts = {'usempi': True, 'pic': True}
 
 source_urls = [
-    'https://karypis.github.io/glaros/files/sw/parmetis',
-    'https://karypis.github.io/glaros/files/sw/parmetis/OLD',
+    'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis',
+    'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD',
+    'https://www.cp2k.org/static/downloads',
 ]
 sources = [SOURCELOWER_TAR_GZ]
 checksums = ['f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f']
 
-builddependencies = [('CMake', '3.27.6')]
+builddependencies = [('CMake', '3.29.3')]
 
 # Build static and shared libraries
 configopts = ['', '-DSHARED=1']
Diff against ParMETIS-4.0.3-gompi-2023b.eb

easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2023b.eb

diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2023b.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2024a.eb
index 6f4498a95c..a39fe73cb4 100644
--- a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2023b.eb
+++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2024a.eb
@@ -4,24 +4,25 @@
 name = 'ParMETIS'
 version = '4.0.3'
 
-homepage = 'https://karypis.github.io/glaros/projects/gp.html'
+homepage = 'https://github.com/KarypisLab/ParMETIS'
 description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning
  unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the
  functionality provided by METIS and includes routines that are especially suited for parallel AMR computations and
  large scale numerical simulations. The algorithms implemented in ParMETIS are based on the parallel multilevel k-way
  graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning schemes."""
 
-toolchain = {'name': 'gompi', 'version': '2023b'}
+toolchain = {'name': 'gompi', 'version': '2024a'}
 toolchainopts = {'usempi': True, 'pic': True}
 
 source_urls = [
-    'https://karypis.github.io/glaros/files/sw/parmetis',
-    'https://karypis.github.io/glaros/files/sw/parmetis/OLD',
+    'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis',
+    'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD',
+    'https://www.cp2k.org/static/downloads',
 ]
 sources = [SOURCELOWER_TAR_GZ]
 checksums = ['f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f']
 
-builddependencies = [('CMake', '3.27.6')]
+builddependencies = [('CMake', '3.29.3')]
 
 # Build static and shared libraries
 configopts = ['', '-DSHARED=1']
Diff against ParMETIS-4.0.3-gompi-2023a.eb

easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2023a.eb

diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2023a.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2024a.eb
index 3d8c6b377c..a39fe73cb4 100644
--- a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2023a.eb
+++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2024a.eb
@@ -4,24 +4,25 @@
 name = 'ParMETIS'
 version = '4.0.3'
 
-homepage = 'https://karypis.github.io/glaros/projects/gp.html'
+homepage = 'https://github.com/KarypisLab/ParMETIS'
 description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning
  unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the
  functionality provided by METIS and includes routines that are especially suited for parallel AMR computations and
  large scale numerical simulations. The algorithms implemented in ParMETIS are based on the parallel multilevel k-way
  graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning schemes."""
 
-toolchain = {'name': 'gompi', 'version': '2023a'}
+toolchain = {'name': 'gompi', 'version': '2024a'}
 toolchainopts = {'usempi': True, 'pic': True}
 
 source_urls = [
-    'https://karypis.github.io/glaros/files/sw/parmetis',
-    'https://karypis.github.io/glaros/files/sw/parmetis/OLD',
+    'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis',
+    'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD',
+    'https://www.cp2k.org/static/downloads',
 ]
 sources = [SOURCELOWER_TAR_GZ]
 checksums = ['f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f']
 
-builddependencies = [('CMake', '3.26.3')]
+builddependencies = [('CMake', '3.29.3')]
 
 # Build static and shared libraries
 configopts = ['', '-DSHARED=1']

Updated software SuperLU_DIST-9.0.0-foss-2024a.eb

Diff against SuperLU_DIST-8.2.1-intel-2023b.eb

easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.2.1-intel-2023b.eb

diff --git a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.2.1-intel-2023b.eb b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-9.0.0-foss-2024a.eb
index 1cf678dddb..47c2a84b2f 100644
--- a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.2.1-intel-2023b.eb
+++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-9.0.0-foss-2024a.eb
@@ -1,26 +1,29 @@
 easyblock = "EB_SuperLU"
 
 name = 'SuperLU_DIST'
-version = '8.2.1'
+version = '9.0.0'
 
 homepage = 'https://crd-legacy.lbl.gov/~xiaoye/SuperLU/'
 description = """SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems
  of linear equations on high performance machines."""
 
-toolchain = {'name': 'intel', 'version': '2023b'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'pic': True, 'openmp': True}
 
 github_account = 'xiaoyeli'
 source_urls = [GITHUB_LOWER_SOURCE]
 sources = ["v%(version)s.tar.gz"]
-checksums = ['b77d065cafa6bc1a1dcc15bf23fd854f54b05762b165badcffc195835ad2bddf']
+checksums = ['aa43d33d4b1b0f5f7b5ad7685e9a6bc25088832c6c74d2ab8f75a2c9f4e9e955']
 
-builddependencies = [('CMake', '3.27.6')]
+builddependencies = [('CMake', '3.29.3')]
 
 dependencies = [
     ('ParMETIS', '4.0.3'),
 ]
 
+configopts = '-DTPL_PARMETIS_INCLUDE_DIRS="${EBROOTPARMETIS}/include" '
+configopts += '-DTPL_PARMETIS_LIBRARIES="${EBROOTPARMETIS}/lib/libparmetis.a;${EBROOTPARMETIS}/lib/libmetis.a" '
+
 # Some tests run longer than default 1500s timeout on fairly big machine (36 cores).
 # Include only first four tests, which should be fairly small to run
 pretestopts = 'export ARGS="$ARGS --tests-regex pdtest_[21]x1_[13]_2_8_20_SP" && '
Diff against SuperLU_DIST-8.2.1-foss-2023b.eb

easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.2.1-foss-2023b.eb

diff --git a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.2.1-foss-2023b.eb b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-9.0.0-foss-2024a.eb
index 5ce5637fc4..47c2a84b2f 100644
--- a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.2.1-foss-2023b.eb
+++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-9.0.0-foss-2024a.eb
@@ -1,26 +1,29 @@
 easyblock = "EB_SuperLU"
 
 name = 'SuperLU_DIST'
-version = '8.2.1'
+version = '9.0.0'
 
 homepage = 'https://crd-legacy.lbl.gov/~xiaoye/SuperLU/'
 description = """SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems
  of linear equations on high performance machines."""
 
-toolchain = {'name': 'foss', 'version': '2023b'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'pic': True, 'openmp': True}
 
 github_account = 'xiaoyeli'
 source_urls = [GITHUB_LOWER_SOURCE]
 sources = ["v%(version)s.tar.gz"]
-checksums = ['b77d065cafa6bc1a1dcc15bf23fd854f54b05762b165badcffc195835ad2bddf']
+checksums = ['aa43d33d4b1b0f5f7b5ad7685e9a6bc25088832c6c74d2ab8f75a2c9f4e9e955']
 
-builddependencies = [('CMake', '3.27.6')]
+builddependencies = [('CMake', '3.29.3')]
 
 dependencies = [
     ('ParMETIS', '4.0.3'),
 ]
 
+configopts = '-DTPL_PARMETIS_INCLUDE_DIRS="${EBROOTPARMETIS}/include" '
+configopts += '-DTPL_PARMETIS_LIBRARIES="${EBROOTPARMETIS}/lib/libparmetis.a;${EBROOTPARMETIS}/lib/libmetis.a" '
+
 # Some tests run longer than default 1500s timeout on fairly big machine (36 cores).
 # Include only first four tests, which should be fairly small to run
 pretestopts = 'export ARGS="$ARGS --tests-regex pdtest_[21]x1_[13]_2_8_20_SP" && '
Diff against SuperLU_DIST-8.1.2-foss-2023a.eb

easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2023a.eb

diff --git a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2023a.eb b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-9.0.0-foss-2024a.eb
index a796a09ee0..47c2a84b2f 100644
--- a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2023a.eb
+++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-9.0.0-foss-2024a.eb
@@ -1,26 +1,29 @@
 easyblock = "EB_SuperLU"
 
 name = 'SuperLU_DIST'
-version = '8.1.2'
+version = '9.0.0'
 
 homepage = 'https://crd-legacy.lbl.gov/~xiaoye/SuperLU/'
 description = """SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems
  of linear equations on high performance machines."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'pic': True, 'openmp': True}
 
 github_account = 'xiaoyeli'
 source_urls = [GITHUB_LOWER_SOURCE]
 sources = ["v%(version)s.tar.gz"]
-checksums = ['7b16c442bb01ea8b298c0aab9a2584aa4615d09786aac968cb2f3118c058206b']
+checksums = ['aa43d33d4b1b0f5f7b5ad7685e9a6bc25088832c6c74d2ab8f75a2c9f4e9e955']
 
-builddependencies = [('CMake', '3.26.3')]
+builddependencies = [('CMake', '3.29.3')]
 
 dependencies = [
     ('ParMETIS', '4.0.3'),
 ]
 
+configopts = '-DTPL_PARMETIS_INCLUDE_DIRS="${EBROOTPARMETIS}/include" '
+configopts += '-DTPL_PARMETIS_LIBRARIES="${EBROOTPARMETIS}/lib/libparmetis.a;${EBROOTPARMETIS}/lib/libmetis.a" '
+
 # Some tests run longer than default 1500s timeout on fairly big machine (36 cores).
 # Include only first four tests, which should be fairly small to run
 pretestopts = 'export ARGS="$ARGS --tests-regex pdtest_[21]x1_[13]_2_8_20_SP" && '

@smoors
Copy link
Contributor

smoors commented Jun 23, 2025

FAIL: test_dep_versions_per_toolchain_generation (test.easyconfigs.easyconfigs.EasyConfigTest)
Check whether there's only one dependency version per toolchain generation actively used.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/easybuild-easyconfigs/easybuild-easyconfigs/test/easyconfigs/easyconfigs.py", line 1062, in test_dep_versions_per_toolchain_generation
    self.fail("Should not have multi-variant dependencies in easyconfigs:\n%s" % multi_dep_vars_msg)
AssertionError: Should not have multi-variant dependencies in easyconfigs:

found 2 variants of 'Hypre' dependency in easyconfigs using '2024a' toolchain generation
* version: 2.31.0; versionsuffix:  as dep for {'PETSc-3.22.0-foss-2024a.eb'}
* version: 2.32.0; versionsuffix:  as dep for {'FEBio-4.6-foss-2024a.eb'}

found 2 variants of 'MUMPS' dependency in easyconfigs using '2024a' toolchain generation
* version: 5.7.2; versionsuffix: -metis as dep for {'PuLP-2.8.0-foss-2024a.eb', 'Cgl-0.60.8-foss-2024a.eb', 'Clp-1.17.10-foss-2024a.eb', 'Cbc-2.10.12-foss-2024a.eb', 'snakemake-8.27.0-foss-2024a.eb'}
* version: 5.7.3; versionsuffix: -metis as dep for {'PETSc-3.22.0-foss-2024a.eb'}

found 2 variants of 'SCOTCH' dependency in easyconfigs using '2024a' toolchain generation
* version: 7.0.5; versionsuffix:  as dep for {'PETSc-3.22.0-foss-2024a.eb', 'MUMPS-5.7.3-foss-2024a-metis.eb'}
* version: 7.0.6; versionsuffix:  as dep for {'PuLP-2.8.0-foss-2024a.eb', 'FEBio-4.6-foss-2024a.eb', 'Mmg-5.8.0-gompi-2024a.eb', 'Cgl-0.60.8-foss-2024a.eb', 'Clp-1.17.10-foss-2024a.eb', 'Cbc-2.10.12-foss-2024a.eb', 'snakemake-8.27.0-foss-2024a.eb', 'MUMPS-5.7.2-foss-2024a-metis.eb'}

found 2 variants of 'SuiteSparse' dependency in easyconfigs using '2024a' toolchain generation
* version: 7.10.1; versionsuffix:  as dep for {'AUGUSTUS-3.5.0-foss-2024a.eb'}
* version: 7.8.2; versionsuffix:  as dep for {'PETSc-3.22.0-foss-2024a.eb'}

@casparvl
Copy link
Contributor

Ah, that was causing the checks to fail, I was already surprised that a deprecation warning would cause a failure. I guess time has caught up with this PR :P I'll modify the versions, see if it still builds with the versions that are (by now) part of 2024a.

@casparvl
Copy link
Contributor

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

@casparvl: 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=21697 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_21697 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

- notification for comment with ID 2996650328 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
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in total)
jsczen3c2.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.5, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/e786e2a78bab1ee1d00521ff52ec24ef for a full test report.

@branfosj branfosj changed the title {numlib}[foss/2024a] Hypre v2.31.0, MUMPS v5.7.3, PETSc v3.22.0, ParMETIS v4.0.3, SCOTCH v7.0.5, SuiteSparse v7.8.2, SuperLU_DIST v9.0.0 {numlib}[foss/2024a] PETSc v3.22.0, ParMETIS v4.0.3, SuperLU_DIST v9.0.0 Jun 23, 2025
@casparvl
Copy link
Contributor

Test report by @casparvl
SUCCESS
Build succeeded for 7 out of 7 (3 easyconfigs in total)
tcn2.local.snellius.surf.nl - Linux RHEL 9.4, x86_64, AMD EPYC 7H12 64-Core Processor, Python 3.9.18
See https://gist.github.com/casparvl/3bb29d1be0b99b3b61e5f2d2686b700b for a full test report.

@casparvl
Copy link
Contributor

@smoors or @branfosj Since I made some final pushes to this PR, would either of you mind doing the final check & merge?

@boegel boegel added this to the 5.x milestone Jul 30, 2025
# Author: Jasper Grimm (UoY)
##
name = 'PETSc'
version = '3.22.0'
Copy link
Member

Choose a reason for hiding this comment

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

I realize this is an old PR, but I don't think we should be using a PETSc version that's older than what we're using in the 2023b generation, see:

@maxim-masterov @casparvl Can we bump this version to latest (3.23.5)?

Copy link
Member

Choose a reason for hiding this comment

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

easyblock = "EB_SuperLU"

name = 'SuperLU_DIST'
version = '9.0.0'
Copy link
Member

Choose a reason for hiding this comment

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

There's a 9.1.0 now, let's bump to that while we're also bumping the PETSc version?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2024a issues & PRs related to 2024a common toolchains update
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants