Skip to content

Conversation

@Thyre
Copy link
Collaborator

@Thyre Thyre commented Nov 7, 2025

(created using eb --new-pr)

This is part of a series of PRs adding an LLVM toolchain for 2025b.
Right now, the modules use llvm-compilers, whereas the framework PR is using LLVMtc. I'll adapt based on the result of the discussion in Slack.

Requires:

Also contains llvm-compilers to that this can be tested independently from #24481

Test reports:

  • Failure Neoverse V1 & OpenBLAS (NumPy tests)
  • Failure Neoverse V2 & OpenBLAS (NumPy tests)
  • Failure Neoverse V2 & BLIS (SciPy tests)
  • Failure Zen 4 & OpenBLAS (SciPy tests)
  • Failure Zen 4 & BLIS (SciPy tests)
  • Success Alder Lake & OpenBLAS
  • Success Zen 5 & OpenBLAS
  • Success Zen 3 & OpenBLAS

… and patches: numpy-2.3.2_fix-llvm-tests.patch
@Thyre Thyre added new update 2025b issues & PRs related to 2025b common toolchains labels Nov 7, 2025
@github-actions
Copy link

github-actions bot commented Nov 7, 2025

Updated software AOCL-BLAS-5.1-llvm-compilers-20.1.8.eb

Diff against AOCL-BLAS-5.1-GCC-14.3.0.eb

easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.1-GCC-14.3.0.eb

diff --git a/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.1-GCC-14.3.0.eb b/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.1-llvm-compilers-20.1.8.eb
index 93ef13326d..7b2ce0bd2d 100644
--- a/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.1-GCC-14.3.0.eb
+++ b/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.1-llvm-compilers-20.1.8.eb
@@ -7,7 +7,7 @@ homepage = 'https://github.com/amd/blis'
 description = """AOCL-BLAS is AMD's optimized version of
                  BLAS targeted for AMD EPYC and Ryzen CPUs."""
 
-toolchain = {'name': 'GCC', 'version': '14.3.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 toolchainopts = {'openmp': True}
 
 source_urls = ['https://github.com/amd/blis/archive/']
Diff against AOCL-BLAS-5.0-GCC-14.2.0.eb

easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.0-GCC-14.2.0.eb

diff --git a/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.0-GCC-14.2.0.eb b/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.1-llvm-compilers-20.1.8.eb
index 6108e8a586..7b2ce0bd2d 100644
--- a/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.0-GCC-14.2.0.eb
+++ b/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.1-llvm-compilers-20.1.8.eb
@@ -1,22 +1,22 @@
 easyblock = 'EB_BLIS'
 
 name = 'AOCL-BLAS'
-version = '5.0'
+version = '5.1'
 
 homepage = 'https://github.com/amd/blis'
 description = """AOCL-BLAS is AMD's optimized version of
                  BLAS targeted for AMD EPYC and Ryzen CPUs."""
 
-toolchain = {'name': 'GCC', 'version': '14.2.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 toolchainopts = {'openmp': True}
 
 source_urls = ['https://github.com/amd/blis/archive/']
 sources = ['%(version)s.tar.gz']
-checksums = ['5abb34972b88b2839709d0af8785662bc651c7806ccfa41d386d93c900169bc2']
+checksums = ['4ab210cea8753f4be9646a3ad8e6b42c7d19380084a66312497c97278b8c76a4']
 
 builddependencies = [
-    ('Python', '3.13.1'),
-    ('Perl', '5.40.0'),
+    ('Python', '3.13.5'),
+    ('Perl', '5.40.2'),
 ]
 
 runtest = 'check'

Updated software BLIS-2.0-llvm-compilers-20.1.8.eb

Diff against BLIS-2.0-GCC-14.3.0.eb

easybuild/easyconfigs/b/BLIS/BLIS-2.0-GCC-14.3.0.eb

diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-2.0-GCC-14.3.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-2.0-llvm-compilers-20.1.8.eb
index 4277c46c1e..7b4ba5c5f9 100644
--- a/easybuild/easyconfigs/b/BLIS/BLIS-2.0-GCC-14.3.0.eb
+++ b/easybuild/easyconfigs/b/BLIS/BLIS-2.0-llvm-compilers-20.1.8.eb
@@ -5,7 +5,7 @@ homepage = 'https://github.com/flame/blis/'
 description = """BLIS is a portable software framework for instantiating high-performance
 BLAS-like dense linear algebra libraries."""
 
-toolchain = {'name': 'GCC', 'version': '14.3.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 toolchainopts = {'openmp': True}
 
 source_urls = ['https://github.com/flame/blis/archive/']
Diff against BLIS-1.1-GCC-14.2.0.eb

easybuild/easyconfigs/b/BLIS/BLIS-1.1-GCC-14.2.0.eb

diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-1.1-GCC-14.2.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-2.0-llvm-compilers-20.1.8.eb
index d0fab06142..7b4ba5c5f9 100644
--- a/easybuild/easyconfigs/b/BLIS/BLIS-1.1-GCC-14.2.0.eb
+++ b/easybuild/easyconfigs/b/BLIS/BLIS-2.0-llvm-compilers-20.1.8.eb
@@ -1,21 +1,20 @@
 name = 'BLIS'
-version = '1.1'
+version = '2.0'
 
 homepage = 'https://github.com/flame/blis/'
 description = """BLIS is a portable software framework for instantiating high-performance
 BLAS-like dense linear algebra libraries."""
 
-toolchain = {'name': 'GCC', 'version': '14.2.0'}
-# -Wno-error=int-conversion is required to work around compiler error on A64FX
-toolchainopts = {'openmp': True, 'extra_cflags': "-Wno-error=int-conversion"}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
+toolchainopts = {'openmp': True}
 
 source_urls = ['https://github.com/flame/blis/archive/']
 sources = ['%(version)s.tar.gz']
-checksums = ['847c035809b8994c077ade737a4813601db96c4cf0d903d08ba6a9b8ee0fe03e']
+checksums = ['08bbebd77914a6d1a43874ae5ec2f54fe6a77cba745f2532df28361b0f1ad1b3']
 
 builddependencies = [
-    ('Python', '3.13.1'),
-    ('Perl', '5.40.0'),
+    ('Python', '3.13.5'),
+    ('Perl', '5.40.2'),
 ]
 
 runtest = 'check'

Updated software Boost-1.88.0-llvm-compilers-20.1.8.eb

Diff against Boost-1.88.0-intel-compilers-2025.2.0.eb

easybuild/easyconfigs/b/Boost/Boost-1.88.0-intel-compilers-2025.2.0.eb

diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.88.0-intel-compilers-2025.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.88.0-llvm-compilers-20.1.8.eb
index fb374654e5..97767e5db7 100644
--- a/easybuild/easyconfigs/b/Boost/Boost-1.88.0-intel-compilers-2025.2.0.eb
+++ b/easybuild/easyconfigs/b/Boost/Boost-1.88.0-llvm-compilers-20.1.8.eb
@@ -4,7 +4,7 @@ version = '1.88.0'
 homepage = 'https://www.boost.org/'
 description = """Boost provides free peer-reviewed portable C++ source libraries."""
 
-toolchain = {'name': 'intel-compilers', 'version': '2025.2.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 toolchainopts = {'pic': True}
 
 source_urls = ['https://archives.boost.io/release/%(version)s/source/']
@@ -19,19 +19,6 @@ dependencies = [
     ('ICU', '77.1'),
 ]
 
-# add -pthread to icpx compiler tests
-_sed_cmd = "sed -i 's/icpx -x c++ -std=c++11 ;/icpx -x c++ -std=c++11 -pthread ;/g'"
-preconfigopts = f'{_sed_cmd} tools/build/src/engine/build.sh && '
-
-# -ip is not supported with OneAPI compilers
-# instead of -pch-create ... use -Xclang -emit-pch -o ...
-_sed_cmd2 = """sed -i -e 's/-c -pch-create/-c -Xclang -emit-pch -o/g' -e 's/-O3 -ip/-O3/g' -e 's/"ifort"/"ifx"/g'"""
-preconfigopts += f'{_sed_cmd2} tools/build/src/tools/intel-linux.jam && '
-
-# -wdXXX flags are not supported with OneAPI compilers
-_sed_cmd3 = r'''sed -i -E "/<toolset>intel(-linux|):<cxxflags>(\"|'|)-wd[0-9,]/d"'''
-preconfigopts += fr'find . -type f -name "Jamfile.v2" -exec {_sed_cmd3} {{}} \; && '
-
 configopts = '--without-libraries=python,mpi'
 
 # disable MPI, build Boost libraries with tagged layout
Diff against Boost-1.88.0-GCC-14.3.0.eb

easybuild/easyconfigs/b/Boost/Boost-1.88.0-GCC-14.3.0.eb

diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.88.0-GCC-14.3.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.88.0-llvm-compilers-20.1.8.eb
index 976e152d46..97767e5db7 100644
--- a/easybuild/easyconfigs/b/Boost/Boost-1.88.0-GCC-14.3.0.eb
+++ b/easybuild/easyconfigs/b/Boost/Boost-1.88.0-llvm-compilers-20.1.8.eb
@@ -4,7 +4,7 @@ version = '1.88.0'
 homepage = 'https://www.boost.org/'
 description = """Boost provides free peer-reviewed portable C++ source libraries."""
 
-toolchain = {'name': 'GCC', 'version': '14.3.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 toolchainopts = {'pic': True}
 
 source_urls = ['https://archives.boost.io/release/%(version)s/source/']

Updated software FFTW-3.3.10-llvm-compilers-20.1.8.eb

Diff against FFTW-3.3.10-GCC-14.3.0.eb

easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-14.3.0.eb

diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-14.3.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-llvm-compilers-20.1.8.eb
index 663ed7191b..8b672b9500 100644
--- a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-14.3.0.eb
+++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-llvm-compilers-20.1.8.eb
@@ -5,13 +5,17 @@ homepage = 'https://www.fftw.org'
 description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT)
 in one or more dimensions, of arbitrary input size, and of both real and complex data."""
 
-toolchain = {'name': 'GCC', 'version': '14.3.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 toolchainopts = {'pic': True}
 
 source_urls = [homepage]
 sources = [SOURCELOWER_TAR_GZ]
 checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467']
 
+# not supported for LLVM compilers
+# build fails with: configure: error: gcc 4.6 or later required for quad precision support
+with_quad_prec = False
+
 runtest = 'check'
 
 moduleclass = 'numlib'
Diff against FFTW-3.3.10-intel-compilers-2023.1.0.eb

easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-intel-compilers-2023.1.0.eb

diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-llvm-compilers-20.1.8.eb
index 79fb090b48..8b672b9500 100644
--- a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-intel-compilers-2023.1.0.eb
+++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-llvm-compilers-20.1.8.eb
@@ -5,22 +5,17 @@ homepage = 'https://www.fftw.org'
 description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT)
 in one or more dimensions, of arbitrary input size, and of both real and complex data."""
 
-toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 toolchainopts = {'pic': True}
 
 source_urls = [homepage]
 sources = [SOURCELOWER_TAR_GZ]
 checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467']
 
-# no quad precision, requires GCC v4.6 or higher
-# see also
-# https://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html
+# not supported for LLVM compilers
+# build fails with: configure: error: gcc 4.6 or later required for quad precision support
 with_quad_prec = False
 
-# compilation fails on AMD systems when configuring with --enable-avx-128-fma,
-# because Intel compilers do not support FMA4 instructions
-use_fma4 = False
-
 runtest = 'check'
 
 moduleclass = 'numlib'

Updated software FlexiBLAS-3.4.5-llvm-compilers-20.1.8.eb

Diff against FlexiBLAS-3.4.5-GCC-14.3.0.eb

easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.5-GCC-14.3.0.eb

diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.5-GCC-14.3.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.5-llvm-compilers-20.1.8.eb
index 212dd6ca9d..172d643785 100644
--- a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.5-GCC-14.3.0.eb
+++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.5-llvm-compilers-20.1.8.eb
@@ -7,9 +7,9 @@ homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release'
 description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation
 used by a program without recompiling or relinking it."""
 
-toolchain = {'name': 'GCC', 'version': '14.3.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 local_extra_flags = "-fstack-protector-strong -fstack-clash-protection"
-toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags}
+toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags}
 
 builddependencies = [
     ('CMake', '4.0.3'),
Diff against FlexiBLAS-3.4.5-GCC-14.2.0.eb

easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.5-GCC-14.2.0.eb

diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.5-GCC-14.2.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.5-llvm-compilers-20.1.8.eb
index 1e8869fdce..172d643785 100644
--- a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.5-GCC-14.2.0.eb
+++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.5-llvm-compilers-20.1.8.eb
@@ -7,20 +7,22 @@ homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release'
 description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation
 used by a program without recompiling or relinking it."""
 
-toolchain = {'name': 'GCC', 'version': '14.2.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 local_extra_flags = "-fstack-protector-strong -fstack-clash-protection"
-toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags}
+toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags}
 
 builddependencies = [
-    ('CMake', '3.31.3'),
-    ('Python', '3.13.1'),  # required for running the tests
-    ('BLIS', '1.1'),
+    ('CMake', '4.0.3'),
+    ('Python', '3.13.5'),  # required for running the tests
+    ('BLIS', '2.0'),
 ]
 if ARCH == 'x86_64':
-    builddependencies.append(('AOCL-BLAS', '5.0'))
+    builddependencies.append(('AOCL-BLAS', '5.1'))
+if ARCH == 'aarch64':
+    builddependencies.append(('NVPL', '25.5', '', SYSTEM))
 
 dependencies = [
-    ('OpenBLAS', '0.3.29'),
+    ('OpenBLAS', '0.3.30'),
 ]
 
 # note: first listed backend will be used as default by FlexiBLAS,
@@ -30,6 +32,8 @@ local_backends = ['OpenBLAS', 'BLIS']
 # imkl supplies its backend via the imkl module, not as a dependency
 if ARCH == 'x86_64':
     local_backends.extend(['AOCL-BLAS', 'imkl'])
+if ARCH == 'aarch64':
+    local_backends.extend(['NVPL'])
 
 default_component_specs = {'start_dir': '%(namelower)s-%(version)s'}
 sanity_check_all_components = True
@@ -43,13 +47,13 @@ components = [
         'checksums': ['e819949c614c4968919b0ea4e873ab916d95cdc6943e9d091a78d209b7d6ed07'],
         'backends': local_backends,
     }),
-    ('LAPACK', '3.12.0', {
+    ('LAPACK', '3.12.1', {
         'easyblock': 'CMakeMake',
         'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'],
         'sources': ['v%(version)s.tar.gz'],
-        'checksums': ['eac9570f8e0ad6f30ce4b963f4f033f0f643e7c3912fc9ee6cd99120675ad48b'],
+        'checksums': ['2ca6407a001a474d4d4d35f3a61550156050c48016d949f0da0529c0aa052422'],
         'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON '
-                       '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON '
+                       '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON -DBUILD_INDEX64_EXT_API=OFF '
                        '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'),
         'sanity_check_paths': {
             'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'],

Updated software OpenBLAS-0.3.30-llvm-compilers-20.1.8.eb

Diff against OpenBLAS-0.3.30-GCC-14.3.0.eb

easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.30-GCC-14.3.0.eb

diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.30-GCC-14.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.30-llvm-compilers-20.1.8.eb
index 4bddc4bbcd..13d1b139fc 100644
--- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.30-GCC-14.3.0.eb
+++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.30-llvm-compilers-20.1.8.eb
@@ -4,7 +4,7 @@ version = '0.3.30'
 homepage = 'https://www.openblas.net/'
 description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version."
 
-toolchain = {'name': 'GCC', 'version': '14.3.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 
 source_urls = [
     # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble
@@ -18,6 +18,8 @@ patches = [
     'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch',
     'OpenBLAS-0.3.21_fix-order-vectorization.patch',
     'OpenBLAS-0.3.30_revert-fix-out-of-bounds-access.patch',
+    'OpenBLAS-0.3.30_fix-dot-kernel-sve-aarch64.patch',
+    'OpenBLAS-0.3.30_better-support-llvm-flang.patch',
 ]
 checksums = [
     {'v0.3.30.tar.gz': '27342cff518646afb4c2b976d809102e368957974c250a25ccc965e53063c95d'},
@@ -29,6 +31,10 @@ checksums = [
      '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'},
     {'OpenBLAS-0.3.30_revert-fix-out-of-bounds-access.patch':
      'c161fc0e2754c8ef073375138392a76ba9c4cb23f85d5d554051db4bc73ba6ae'},
+    {'OpenBLAS-0.3.30_fix-dot-kernel-sve-aarch64.patch':
+     'dfc675529f2ae8c6b3b35f8e6cf47095b0c54b89aa15ee2059fcfbe3f420c52e'},
+    {'OpenBLAS-0.3.30_better-support-llvm-flang.patch':
+     '2e4b314ad94402978d7d6c2137592f9489ee8779507efc510d6d460fcecb1d88'},
 ]
 
 builddependencies = [
Diff against OpenBLAS-0.3.29-GCC-14.2.0.eb

easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.29-GCC-14.2.0.eb

diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.29-GCC-14.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.30-llvm-compilers-20.1.8.eb
index 66efdc75ce..13d1b139fc 100644
--- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.29-GCC-14.2.0.eb
+++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.30-llvm-compilers-20.1.8.eb
@@ -1,10 +1,10 @@
 name = 'OpenBLAS'
-version = '0.3.29'
+version = '0.3.30'
 
 homepage = 'https://www.openblas.net/'
 description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version."
 
-toolchain = {'name': 'GCC', 'version': '14.2.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 
 source_urls = [
     # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble
@@ -17,23 +17,30 @@ patches = [
     ('timing.tgz', '.'),
     'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch',
     'OpenBLAS-0.3.21_fix-order-vectorization.patch',
-    'OpenBLAS-0.3.29_fix-detection-A64FX.patch',
+    'OpenBLAS-0.3.30_revert-fix-out-of-bounds-access.patch',
+    'OpenBLAS-0.3.30_fix-dot-kernel-sve-aarch64.patch',
+    'OpenBLAS-0.3.30_better-support-llvm-flang.patch',
 ]
 checksums = [
-    {'v0.3.29.tar.gz': '38240eee1b29e2bde47ebb5d61160207dc68668a54cac62c076bb5032013b1eb'},
+    {'v0.3.30.tar.gz': '27342cff518646afb4c2b976d809102e368957974c250a25ccc965e53063c95d'},
     {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'},
     {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'},
     {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch':
      'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'},
     {'OpenBLAS-0.3.21_fix-order-vectorization.patch':
      '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'},
-    {'OpenBLAS-0.3.29_fix-detection-A64FX.patch': 'b8f8d134c87d358fef98b98e49a6b14db95cdc926272557d14b0530c75743b3f'},
+    {'OpenBLAS-0.3.30_revert-fix-out-of-bounds-access.patch':
+     'c161fc0e2754c8ef073375138392a76ba9c4cb23f85d5d554051db4bc73ba6ae'},
+    {'OpenBLAS-0.3.30_fix-dot-kernel-sve-aarch64.patch':
+     'dfc675529f2ae8c6b3b35f8e6cf47095b0c54b89aa15ee2059fcfbe3f420c52e'},
+    {'OpenBLAS-0.3.30_better-support-llvm-flang.patch':
+     '2e4b314ad94402978d7d6c2137592f9489ee8779507efc510d6d460fcecb1d88'},
 ]
 
 builddependencies = [
     ('make', '4.4.1'),
     # required by LAPACK test suite
-    ('Python', '3.13.1'),
+    ('Python', '3.13.5'),
 ]
 
 run_lapack_tests = True

Updated software pybind11-3.0.0-llvm-compilers-20.1.8.eb

Diff against pybind11-2.12.0-intel-compilers-2024.2.0.eb

easybuild/easyconfigs/p/pybind11/pybind11-2.12.0-intel-compilers-2024.2.0.eb

diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.12.0-intel-compilers-2024.2.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-3.0.0-llvm-compilers-20.1.8.eb
index 8957375af9..4aa129db66 100644
--- a/easybuild/easyconfigs/p/pybind11/pybind11-2.12.0-intel-compilers-2024.2.0.eb
+++ b/easybuild/easyconfigs/p/pybind11/pybind11-3.0.0-llvm-compilers-20.1.8.eb
@@ -1,12 +1,11 @@
 name = 'pybind11'
-version = '2.12.0'
+version = '3.0.0'
 
 homepage = 'https://pybind11.readthedocs.io'
-description = """pybind11 is a lightweight header-only library that
-exposes C++ types in Python and vice versa, mainly to create Python
-bindings of existing C++ code."""
+description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa,
+ mainly to create Python bindings of existing C++ code."""
 
-toolchain = {'name': 'intel-compilers', 'version': '2024.2.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 
 source_urls = ['https://github.com/pybind/pybind11/archive/']
 sources = ['v%(version)s.tar.gz']
@@ -14,21 +13,22 @@ patches = [
     'pybind11-2.10.3_require-catch.patch',
 ]
 checksums = [
-    {'v2.12.0.tar.gz': 'bf8f242abd1abcd375d516a7067490fb71abd79519a282d22b6e4d19282185a7'},
+    {'v3.0.0.tar.gz': '453b1a3e2b266c3ae9da872411cadb6d693ac18063bd73226d96cfb7015a200c'},
     {'pybind11-2.10.3_require-catch.patch': '4a27ba3ef1d5c535d120d6178a6e876ae678e4899a07500aab37908357b0b60b'},
 ]
 
 builddependencies = [
-    ('CMake', '3.29.3'),
+    ('CMake', '4.0.3'),
     # Test dependencies
     ('Eigen', '3.4.0'),
     ('Catch2', '2.13.10'),
-    ('Python-bundle-PyPI', '2024.06'),  # to provide pytest
+    ('Python-bundle-PyPI', '2025.07'),  # to provide pytest
+    ('scikit-build-core', '0.11.5'),
 ]
 
 dependencies = [
-    ('Boost', '1.85.0'),
-    ('Python', '3.12.3'),
+    ('Boost', '1.88.0'),
+    ('Python', '3.13.5'),
 ]
 
 moduleclass = 'lib'
Diff against pybind11-3.0.0-intel-compilers-2025.2.0.eb

easybuild/easyconfigs/p/pybind11/pybind11-3.0.0-intel-compilers-2025.2.0.eb

diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-3.0.0-intel-compilers-2025.2.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-3.0.0-llvm-compilers-20.1.8.eb
index 537edd9c1d..4aa129db66 100644
--- a/easybuild/easyconfigs/p/pybind11/pybind11-3.0.0-intel-compilers-2025.2.0.eb
+++ b/easybuild/easyconfigs/p/pybind11/pybind11-3.0.0-llvm-compilers-20.1.8.eb
@@ -5,7 +5,7 @@ homepage = 'https://pybind11.readthedocs.io'
 description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa,
  mainly to create Python bindings of existing C++ code."""
 
-toolchain = {'name': 'intel-compilers', 'version': '2025.2.0'}
+toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
 
 source_urls = ['https://github.com/pybind/pybind11/archive/']
 sources = ['v%(version)s.tar.gz']

Updated software SciPy-bundle-2025.07-lfbf-2025b.eb

Diff against SciPy-bundle-2025.07-iimkl-2025b.eb

easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2025.07-iimkl-2025b.eb

diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2025.07-iimkl-2025b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2025.07-lfbf-2025b.eb
index c8b268cfbd..70d3ee30ff 100644
--- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2025.07-iimkl-2025b.eb
+++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2025.07-lfbf-2025b.eb
@@ -6,13 +6,8 @@ version = '2025.07'
 homepage = 'https://python.org/'
 description = "Bundle of Python packages for scientific software"
 
-toolchain = {'name': 'iimkl', 'version': '2025b'}
-toolchainopts = {'pic': True, 'lowopt': True, 'strict': True,
-                 # '-fveclib=none' to avoid 'undefined symbol: pow8_h' in numpy
-                 # see https://github.com/numpy/numpy/issues/27111
-                 # '-mllvm -disable-hir-backward-temp-dependencies-resolver' to avoid AVX2 failure in numpy build
-                 # see https://github.com/numpy/numpy/issues/29679
-                 'extra_cflags': '-fveclib=none -mllvm -disable-hir-backward-temp-dependencies-resolver'}
+toolchain = {'name': 'lfbf', 'version': '2025b'}
+toolchainopts = {'pic': True, 'lowopt': True}
 
 builddependencies = [
     ('hypothesis', '6.136.6'),
@@ -35,14 +30,18 @@ dependencies = [
 # order is important!
 exts_list = [
     ('numpy', '2.3.2', {
-        'patches': ['numpy-1.22.3_disable-broken-override-test.patch',
-                    'numpy-2.3.2_fix_selected_kind_for_ifort.patch'],
+        'patches': [
+            'numpy-1.22.3_disable-broken-override-test.patch',
+            'numpy-2.3.2_fix-llvm-tests.patch',
+            'numpy-2.3.2_fix-selected-real-kind-for-flang.patch',
+        ],
         'checksums': [
             {'numpy-2.3.2.tar.gz': 'e0486a11ec30cdecb53f184d496d1c6a20786c81e55e41640270130056f8ee48'},
             {'numpy-1.22.3_disable-broken-override-test.patch':
              '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'},
-            {'numpy-2.3.2_fix_selected_kind_for_ifort.patch':
-             '765cd11029acb97729d072171b3c9919bb0b09e6e0ea5134fd3d779de23f1a03'},
+            {'numpy-2.3.2_fix-llvm-tests.patch': 'dac856f521e2b5175f0edb09ee65ba9246af2a7d52d36dfb2dbb1b516b8cfaff'},
+            {'numpy-2.3.2_fix-selected-real-kind-for-flang.patch':
+             '0e947fc7730bc87d10279c4393db9b1585e7f1ae6932c989f37c1080479d7cb7'},
         ],
     }),
     ('ply', '3.11', {
@@ -69,7 +68,6 @@ exts_list = [
             'scipy-1.16.0_relax-tests-broken-neoverse-v1.patch',
             'scipy-1.16.0_remove-float16-differentiate-test.patch',
             'scipy-1.16.1_bump-orth-memory-efficiency-tolerance.patch',
-            'scipy-1.16.1_relax-tolerance.patch',
         ],
         'checksums': [
             {'scipy-1.16.1.tar.gz': '44c76f9e8b6e8e488a586190ab38016e4ed2f8a038af7cd3defa903c0a2238b3'},
@@ -82,7 +80,6 @@ exts_list = [
              'f857fc1e941c196285f2e871e803cf463fc59c040dd2955deda1dd277d4b00db'},
             {'scipy-1.16.1_bump-orth-memory-efficiency-tolerance.patch':
              '1eb58b162d04cbf957979897966bfcf318f05a2bdbb61f0b47c0b3881910b354'},
-            {'scipy-1.16.1_relax-tolerance.patch': 'd78b91cd896951cea39f194a64e9f88bb696f2cb805915b34c9021dd186e3de3'},
         ],
     }),
     ('numexpr', '2.11.0', {
Diff against SciPy-bundle-2025.07-gfbf-2025b.eb

easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2025.07-gfbf-2025b.eb

diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2025.07-gfbf-2025b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2025.07-lfbf-2025b.eb
index 1393e4562b..70d3ee30ff 100644
--- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2025.07-gfbf-2025b.eb
+++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2025.07-lfbf-2025b.eb
@@ -6,7 +6,7 @@ version = '2025.07'
 homepage = 'https://python.org/'
 description = "Bundle of Python packages for scientific software"
 
-toolchain = {'name': 'gfbf', 'version': '2025b'}
+toolchain = {'name': 'lfbf', 'version': '2025b'}
 toolchainopts = {'pic': True, 'lowopt': True}
 
 builddependencies = [
@@ -30,11 +30,18 @@ dependencies = [
 # order is important!
 exts_list = [
     ('numpy', '2.3.2', {
-        'patches': ['numpy-1.22.3_disable-broken-override-test.patch'],
+        'patches': [
+            'numpy-1.22.3_disable-broken-override-test.patch',
+            'numpy-2.3.2_fix-llvm-tests.patch',
+            'numpy-2.3.2_fix-selected-real-kind-for-flang.patch',
+        ],
         'checksums': [
             {'numpy-2.3.2.tar.gz': 'e0486a11ec30cdecb53f184d496d1c6a20786c81e55e41640270130056f8ee48'},
             {'numpy-1.22.3_disable-broken-override-test.patch':
              '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'},
+            {'numpy-2.3.2_fix-llvm-tests.patch': 'dac856f521e2b5175f0edb09ee65ba9246af2a7d52d36dfb2dbb1b516b8cfaff'},
+            {'numpy-2.3.2_fix-selected-real-kind-for-flang.patch':
+             '0e947fc7730bc87d10279c4393db9b1585e7f1ae6932c989f37c1080479d7cb7'},
         ],
     }),
     ('ply', '3.11', {

@Thyre

This comment was marked as outdated.

@Thyre

This comment was marked as outdated.

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 7, 2025

With FlexiBLAS default (FLEXIBLAS=OpenBLAS)


Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855
FAILED
Build succeeded for 9 out of 10 (total: 1 hour 4 mins 24 secs) (10 easyconfigs in total)
Linux - Linux Arch Linux UNKNOWN, x86_64, AMD Ryzen 7 7800X3D 8-Core Processor (zen4), 1 x AMD Navi 48 [Radeon RX 9070/9070 XT/9070 GRE] (device id: 0x7550, gfx: gfx1201, driver: Linuxversion6.17.6-arch1-1(linux@archlinux)(gcc(GCC)15.2.120250813,GNUld(GNUBinutils)2.45.0)#1SMPPREEMPT_DYNAMICWed,29Oct202522:23:47+0000), 1 x AMD Raphael (device id: 0x164e, gfx: gfx1036, driver: Linuxversion6.17.6-arch1-1(linux@archlinux)(gcc(GCC)15.2.120250813,GNUld(GNUBinutils)2.45.0)#1SMPPREEMPT_DYNAMICWed,29Oct202522:23:47+0000), Python 3.13.7
See https://gist.github.com/Thyre/8e0d13dcb71b993456a9a673b54d4f40 for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 7, 2025

With FlexiBLAS default (FLEXIBLAS=OpenBLAS)


Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855
SUCCESS
Build succeeded for 10 out of 10 (total: 1 hour 48 mins 15 secs) (10 easyconfigs in total)
ZAM054 - Linux Zorin OS 18, x86_64, 12th Gen Intel(R) Core(TM) i7-1260P (skylake), 1 x NVIDIA NVIDIA GeForce MX550, 580.95.05, Python 3.12.3
See https://gist.github.com/Thyre/4397aa9f08a3c0cbe63cec48181af8d2 for a full test report.

@Thyre

This comment was marked as outdated.

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 9, 2025

Failed due to BLIS not knowing about zen5


Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855
FAILED
Build succeeded for 6 out of 10 (total: 1 hour 29 mins 19 secs) (10 easyconfigs in total)
Framework - Linux Fedora Linux 43, x86_64, AMD Ryzen AI 7 350 w/ Radeon 860M (zen5), 1 x AMD Krackan [Radeon 840M / 860M Graphics] (device id: 0x1114, gfx: gfx1152, driver: Linuxversion6.17.7-300.fc43.x86_64(mockbuild@d49b948bbfce45ee82827ac76e852536)(gcc(GCC)15.2.120251022(RedHat15.2.1-3),GNUldversion2.45-1.fc43)#1SMPPREEMPT_DYNAMICSunNov215:30:09UTC2025), Python 3.14.0
See https://gist.github.com/Thyre/64e7da24f1746005f19df4b423a8aa7e for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 9, 2025

With --try-amend=cpu_architecture='zen3' for BLIS only


Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855
SUCCESS
Build succeeded for 1 out of 1 (total: 1 min 45 secs) (1 easyconfigs in total)
Framework - Linux Fedora Linux 43, x86_64, AMD Ryzen AI 7 350 w/ Radeon 860M (zen5), 1 x AMD Krackan [Radeon 840M / 860M Graphics] (device id: 0x1114, gfx: gfx1152, driver: Linuxversion6.17.7-300.fc43.x86_64(mockbuild@d49b948bbfce45ee82827ac76e852536)(gcc(GCC)15.2.120251022(RedHat15.2.1-3),GNUldversion2.45-1.fc43)#1SMPPREEMPT_DYNAMICSunNov215:30:09UTC2025), Python 3.14.0
See https://gist.github.com/Thyre/dab22e734969ff93cb200b4440081c52 for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 9, 2025

FlexiBLAS, lfbf & SciPy-bundle

With FlexiBLAS default (FLEXIBLAS=OpenBLAS)


Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855
SUCCESS
Build succeeded for 3 out of 3 (total: 2 hours 15 mins 13 secs) (3 easyconfigs in total)
Framework - Linux Fedora Linux 43, x86_64, AMD Ryzen AI 7 350 w/ Radeon 860M (zen5), 1 x AMD Krackan [Radeon 840M / 860M Graphics] (device id: 0x1114, gfx: gfx1152, driver: Linuxversion6.17.7-300.fc43.x86_64(mockbuild@d49b948bbfce45ee82827ac76e852536)(gcc(GCC)15.2.120251022(RedHat15.2.1-3),GNUldversion2.45-1.fc43)#1SMPPREEMPT_DYNAMICSunNov215:30:09UTC2025), Python 3.14.0
See https://gist.github.com/Thyre/fb2c1739fb26776272b4e58033031c91 for a full test report.

@github-actions github-actions bot removed the 2025b issues & PRs related to 2025b common toolchains label Nov 10, 2025
@Thyre Thyre added the 2025b issues & PRs related to 2025b common toolchains label Nov 10, 2025
@github-actions github-actions bot removed the 2025b issues & PRs related to 2025b common toolchains label Nov 10, 2025
@Thyre

This comment was marked as outdated.

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 11, 2025

With FlexiBLAS default (FLEXIBLAS=OpenBLAS)


Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855
SUCCESS
Build succeeded for 10 out of 10 (total: 1 hour 57 mins 13 secs) (10 easyconfigs in total)
datenlager - Linux Ubuntu 24.04, x86_64, AMD Ryzen 7 3700X 8-Core Processor, Python 3.12.3
See https://gist.github.com/Thyre/484df004c27a613b4b46a458b9b92595 for a full test report.

@Thyre Thyre added the 2025b issues & PRs related to 2025b common toolchains label Nov 11, 2025
Signed-off-by: Jan André Reuter <[email protected]>
@github-actions github-actions bot removed the 2025b issues & PRs related to 2025b common toolchains label Nov 12, 2025
@Thyre Thyre force-pushed the 20251107090723_new_pr_lfbf2025b branch from 471b89a to e05de7f Compare November 18, 2025 19:00
@Thyre

This comment was marked as outdated.

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 19, 2025

With FlexiBLAS default (FLEXIBLAS=OpenBLAS)


Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855
FAILED
Build succeeded for 8 out of 9 (total: 1 hour 24 mins 7 secs) (9 easyconfigs in total)
jrc0901.jureca - Linux Rocky Linux 9.6, AArch64, ARM UNKNOWN (neoverse_v2), 1 x NVIDIA NVIDIA GH200 480GB, 580.95.05, Python 3.9.21
See https://gist.github.com/Thyre/45b65da00c1dd00256781c2e756e5316 for a full test report.

@Thyre Thyre added the 2025b issues & PRs related to 2025b common toolchains label Nov 19, 2025
@bartoldeman
Copy link
Contributor

will also need
easybuilders/easybuild-easyblocks#3997
for flexiblas + imkl.

@boegel
Copy link
Member

boegel commented Nov 22, 2025

Hmm, when testing this on neoverse_v1, I'm running into an issue with AOCL-BLAS:

libblis: frame/base/bli_gks.c (line 471):
libblis: Default NC is non-multiple of NR for one or more datatypes.
libblis: Aborting.
bash: line 2: 3703390 Aborted                 (core dumped) ././obj/armsve/testsuite/static/test_libblis-mt.x -g ./testsuite/input.general.fast -o ./testsuite/input.operations.fast > output.testsuite
make: *** [Makefile:1003: testsuite-run-fast] Error 134

Does it even make sense to build that on an Arm system?

edit: that was with a naive "eb --from-pr 24482", which tries to install all easyconfigs touched in this PR, of course...

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 22, 2025

Hmm, when testing this on neoverse_v1, I'm running into an issue with AOCL-BLAS:

libblis: frame/base/bli_gks.c (line 471):
libblis: Default NC is non-multiple of NR for one or more datatypes.
libblis: Aborting.
bash: line 2: 3703390 Aborted                 (core dumped) ././obj/armsve/testsuite/static/test_libblis-mt.x -g ./testsuite/input.general.fast -o ./testsuite/input.operations.fast > output.testsuite
make: *** [Makefile:1003: testsuite-run-fast] Error 134

Does it even make sense to build that on an Arm system?

edit: that was with a naive "eb --from-pr 24482", which tries to install all easyconfigs touched in this PR, of course...

@boegel I'm seeing the same failure on our GH200 systems. As we're filtering AOCL-BLAS from aarch64, even in our GCC FlexiBLAS variant, I'm guessing that we hit a similar failure there. I wouldn't spend to much time on it, given that this is the AMD optimized BLIS variant 😅

I've filtered this EC when testing on GH200.

@boegel
Copy link
Member

boegel commented Nov 22, 2025

I see two failing tests on neoverse_v1 (I can look into uploading a proper test report for that).

FAILED numpy/linalg/tests/test_linalg.py::TestDet::test_types[complex64] - RuntimeWarning: divide by zero encountered in det
FAILED numpy/linalg/tests/test_linalg.py::TestDet::test_types[complex128] - RuntimeWarning: divide by zero encountered in det

@Thyre Does this ring any bells for you?

I don't think this should block this PR, we can open a follow-up PR on it

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 22, 2025

I see two failing tests on neoverse_v1 (I can look into uploading a proper test report for that).

FAILED numpy/linalg/tests/test_linalg.py::TestDet::test_types[complex64] - RuntimeWarning: divide by zero encountered in det
FAILED numpy/linalg/tests/test_linalg.py::TestDet::test_types[complex128] - RuntimeWarning: divide by zero encountered in det

@Thyre Does this ring any bells for you?

I don't think this should block this PR, we can open a follow-up PR on it

That's the same test failure I saw here #24482 (comment).
I've reported this in numpy/numpy#30260

Make crackfortran.py actually aware of the selected_real_kind of
LLVM flang (and Fortran 2018). This doesn't fix aarch64 and Zen 4 test failures
later on though.

Signed-off-by: Jan André Reuter <[email protected]>
@github-actions github-actions bot removed the 2025b issues & PRs related to 2025b common toolchains label Nov 22, 2025
@Thyre
Copy link
Collaborator Author

Thyre commented Nov 22, 2025

I see two failing tests on neoverse_v1 (I can look into uploading a proper test report for that).

FAILED numpy/linalg/tests/test_linalg.py::TestDet::test_types[complex64] - RuntimeWarning: divide by zero encountered in det
FAILED numpy/linalg/tests/test_linalg.py::TestDet::test_types[complex128] - RuntimeWarning: divide by zero encountered in det

@Thyre Does this ring any bells for you?

I don't think this should block this PR, we can open a follow-up PR on it

@boegel The test failure may be related to another OpenBLAS bug. Trying the same tests with FLEXIBLAS=BLIS lets them pass:

eb-shell> FLEXIBLAS=BLIS spin test --no-build numpy/linalg/tests/test_linalg.py
$ export PYTHONPATH="/dev/shm/reuter1/easybuild/build/SciPybundle/2025.07/lfbf-2025b/numpy/numpy-2.3.5/build-install/lib/python3.13/site-packages:/p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/spin/0.14-GCCcore-14.3.0/lib/python3.13/site-packages:/p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/pybind11/3.0.0-llvm-compilers-20.1.8/lib/python3.13/site-packages:/p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/Cython/3.1.2-GCCcore-14.3.0/lib/python3.13/site-packages:/p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/meson-python/0.18.0-GCCcore-14.3.0/lib/python3.13/site-packages:/p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/Meson/1.8.2-GCCcore-14.3.0/lib/python3.13/site-packages:/p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/hypothesis/6.136.6-GCCcore-14.3.0/lib/python3.13/site-packages:/p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/Python-bundle-PyPI/2025.07-GCCcore-14.3.0/lib/python3.13/site-packages:/p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/virtualenv/20.32.0-GCCcore-14.3.0/lib/python3.13/site-packages:/p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/cryptography/45.0.5-GCCcore-14.3.0/lib/python3.13/site-packages:/p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/cffi/1.17.1-GCCcore-14.3.0/lib/python3.13/site-packages:/p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/LLVM/20.1.8-GCCcore-14.3.0/lib/python:/p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/Z3/4.15.1-GCCcore-14.3.0/lib/python3.13/site-packages"
$ /p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/Python/3.13.5-GCCcore-14.3.0/bin/python -P -c 'import numpy'
$ cd /dev/shm/reuter1/easybuild/build/SciPybundle/2025.07/lfbf-2025b/numpy/numpy-2.3.5/build-install/lib/python3.13/site-packages
$ /p/project1/cswmanage/reuter1/EasyBuild/jedi/apps/software/Python/3.13.5-GCCcore-14.3.0/bin/python -P -m pytest -m 'not slow' numpy/linalg/tests/test_linalg.py
===================================================================================================================== test session starts =====================================================================================================================
platform linux -- Python 3.13.5, pytest-8.4.1, pluggy-1.6.0
rootdir: /dev/shm/reuter1/easybuild/build/SciPybundle/2025.07/lfbf-2025b/numpy/numpy-2.3.5
configfile: pytest.ini
plugins: hypothesis-6.136.6, xdist-3.8.0
collected 470 items / 27 deselected / 443 selected

numpy/linalg/tests/test_linalg.py .............................................................................x....................................................................................................................................... [ 48%]
.................................................................................................................................................................................................s........................sx..........                  [100%]

================================================================================================== 439 passed, 2 skipped, 27 deselected, 2 xfailed in 1.39s ===================================================================================================
eb-shell>

I've tested this with the latest numpy release here. I'll try a full build of this PR with BLIS as the backend, just for comparison...

@Thyre

This comment has been minimized.

@boegel
Copy link
Member

boegel commented Nov 23, 2025

Test report by @boegel
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3759
FAILED
Build succeeded for 6 out of 10 (total: 54 mins 25 secs) (10 easyconfigs in total)
aarch64-neoverse-v1-node1.int.aws-rocky88-202310.eessi.io - Linux Rocky Linux 8.10, AArch64, ARM UNKNOWN (neoverse_v1), Python 3.6.8
See https://gist.github.com/boegel/cb71b56d3e4b30d705e239c03b2b33a4 for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 23, 2025

Test report by @boegel
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3759
FAILED
Build succeeded for 6 out of 10 (total: 54 mins 25 secs) (10 easyconfigs in total)
aarch64-neoverse-v1-node1.int.aws-rocky88-202310.eessi.io - Linux Rocky Linux 8.10, AArch64, ARM UNKNOWN (neoverse_v1), Python 3.6.8
See https://gist.github.com/boegel/cb71b56d3e4b30d705e239c03b2b33a4 for a full test report.

We need easybuilders/easybuild-easyblocks#3855 here for Boost 😄

@boegel
Copy link
Member

boegel commented Nov 23, 2025

Test report by @boegel
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3759
FAILED
Build succeeded for 7 out of 10 (total: 2 hours 4 mins 29 secs) (10 easyconfigs in total)
node4226.shinx.os - Linux RHEL 9.6, x86_64, AMD EPYC 9654 96-Core Processor (zen4), Python 3.9.21
See https://gist.github.com/boegel/5ffb3f14a8b2b0f20e6278ec60d57be9 for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 23, 2025

With FlexiBLAS=BLIS


Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855
FAILED
Build succeeded for 9 out of 10 (total: 1 hour 7 mins 58 secs) (10 easyconfigs in total)
Linux - Linux Arch Linux UNKNOWN, x86_64, AMD Ryzen 7 7800X3D 8-Core Processor (zen4), 1 x AMD Navi 48 [Radeon RX 9070/9070 XT/9070 GRE] (device id: 0x7550, gfx: gfx1201, driver: Linuxversion6.17.8-arch1-1(linux@archlinux)(gcc(GCC)15.2.120251112,GNUld(GNUBinutils)2.45.1)#1SMPPREEMPT_DYNAMICFri,14Nov202506:54:20+0000), 1 x AMD Raphael (device id: 0x164e, gfx: gfx1036, driver: Linuxversion6.17.8-arch1-1(linux@archlinux)(gcc(GCC)15.2.120251112,GNUld(GNUBinutils)2.45.1)#1SMPPREEMPT_DYNAMICFri,14Nov202506:54:20+0000), Python 3.13.7
See https://gist.github.com/Thyre/e0188fe440b92ad7527ec9f6721eaa71 for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 23, 2025

With FLEXIBLAS=BLIS


Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855
FAILED
Build succeeded for 8 out of 9 (total: 1 hour 40 mins 22 secs) (9 easyconfigs in total)
jrc0900.jureca - Linux Rocky Linux 9.6, AArch64, ARM UNKNOWN (neoverse_v2), 1 x NVIDIA NVIDIA GH200 480GB, 580.95.05, Python 3.9.21
See https://gist.github.com/Thyre/94bbf3b397e5681a9048432d567eba30 for a full test report.

@boegel
Copy link
Member

boegel commented Nov 24, 2025

Test report by @boegel
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855, easybuilders/easybuild-easyblocks#3997
SUCCESS
Build succeeded for 10 out of 10 (total: 3 hours 0 mins 22 secs) (10 easyconfigs in total)
node4224.shinx.os - Linux RHEL 9.6, x86_64, AMD EPYC 9654 96-Core Processor (zen4), Python 3.9.21
See https://gist.github.com/boegel/e7c14d265daf705cebb52ea4c19da530 for a full test report.

@Crivella
Copy link
Contributor

Crivella commented Nov 26, 2025

Tested with FW PR at easybuilders/easybuild-framework@232ef0b

Test report by @Crivella
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855, easybuilders/easybuild-easyblocks#3997
SUCCESS
Build succeeded for 10 out of 10 (total: 1 hour 27 mins 44 secs) (10 easyconfigs in total)
crivella-desktop - Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish), x86_64, 13th Gen Intel(R) Core(TM) i9-13900K (skylake), Python 3.11.14
See https://gist.github.com/Crivella/a8473f062cf20bbd99528b970713dfd2 for a full test report.

@Crivella
Copy link
Contributor

Crivella commented Nov 26, 2025

NOTE Only tested ECs from #24516

Test report by @Crivella
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3759
SUCCESS
Build succeeded for 4 out of 4 (total: 1 hour 50 mins 20 secs) (4 easyconfigs in total)
crivella-desktop - Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish), x86_64, 13th Gen Intel(R) Core(TM) i9-13900K (skylake), Python 3.11.14
See https://gist.github.com/Crivella/e40f8c0956fde18d2c87cf0723366fd9 for a full test report.

@boegel
Copy link
Member

boegel commented Nov 29, 2025

Test report by @boegel
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855, easybuilders/easybuild-easyblocks#3997
SUCCESS
Build succeeded for 10 out of 10 (total: 3 hours 0 mins 34 secs) (10 easyconfigs in total)
node4213.shinx.os - Linux RHEL 9.6, x86_64, AMD EPYC 9654 96-Core Processor (zen4), Python 3.9.21
See https://gist.github.com/boegel/7a947a06a3cb1e37139b033f22569238 for a full test report.

@boegel
Copy link
Member

boegel commented Nov 30, 2025

I'm seeing trouble here with BLIS on neoverse_v1:

kernels/armsve/3/bli_armsve_utils.c:42:26: fatal error: instruction requires: sve or sme
   42 |       " mov  x0, xzr   \n\t"
      |                          ^

Test report coming up.

I won't let this block this PR though, we can follow up in an issue & separate PR, since this smells like a bug in BLIS to me...

@boegel
Copy link
Member

boegel commented Nov 30, 2025

Test report by @boegel
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855, easybuilders/easybuild-easyblocks#3997
FAILED
Build succeeded for 5 out of 9 (total: 1 hour 1 min 30 secs) (9 easyconfigs in total)
aarch64-neoverse-v1-node1.int.aws-rocky88-202310.eessi.io - Linux Rocky Linux 8.10, AArch64, ARM UNKNOWN (neoverse_v1), Python 3.6.8
See https://gist.github.com/boegel/c5d872633903c1a5704a61734b219112 for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 30, 2025

Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3855, easybuilders/easybuild-easyblocks#3997
FAILED
Build succeeded for 8 out of 9 (total: 1 hour 20 mins 35 secs) (9 easyconfigs in total)
jrc0900.jureca - Linux Rocky Linux 9.6, AArch64, ARM UNKNOWN (neoverse_v2), 1 x NVIDIA NVIDIA GH200 480GB, 580.95.05, Python 3.9.21
See https://gist.github.com/Thyre/f39884e8b1b2114419526f13a628d59f for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Nov 30, 2025

I'm seeing trouble here with BLIS on neoverse_v1:

kernels/armsve/3/bli_armsve_utils.c:42:26: fatal error: instruction requires: sve or sme
   42 |       " mov  x0, xzr   \n\t"
      |                          ^

Test report coming up.

I won't let this block this PR though, we can follow up in an issue & separate PR, since this smells like a bug in BLIS to me...

Interesting, this doesn't show up with Neoverse V2. Probably worth opening an issue for to figure out where things go wrong.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants