-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
I've been trying to build OpenBLAS 0.30.0 for an EasyBuild toolchain based on GCC 14.3.0, but have been running into issues when running the LAPACK test suite. On two totally separate systems, I see ~140-170 test failures due to numerical errors for REAL, DOUBLE PRECISION, COMPLEX and COMPLEX16.
The test failures mainly seem to occur from:
Nonsymmetric-Eigenvalue-EIG/xeigtstsNonsymmetric-Eigenvalue-EIG/xeigtstdNonsymmetric-Eigenvalue-EIG/xeigtstcNonsymmetric-Eigenvalue-EIG/xeigtstz
To cross-check, I've also tried GCC 14.2.0, with the same failures occurring.
The two systems I've tried so far were using:
- Intel Core i7-1260P (Alder Lake)
- NVIDIA GH200 (Neoverse V2)
The full build log from EasyBuild for the latter build can be found here: easybuild-OpenBLAS-0.3.30-20250723.095411.FMJRl.log
Just for completeness (e.g. sources and so on), this is the EasyConfig I'm using:
Click to open
name = 'OpenBLAS'
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'}
source_urls = [
# order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble
'https://www.netlib.org/lapack/timing/',
'https://github.com/xianyi/OpenBLAS/archive/',
]
sources = ['v%(version)s.tar.gz']
patches = [
('large.tgz', '.'),
('timing.tgz', '.'),
'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch',
'OpenBLAS-0.3.21_fix-order-vectorization.patch',
]
checksums = [
{'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'},
]
builddependencies = [
('make', '4.4.1'),
# required by LAPACK test suite
('Python', '3.13.5'),
]
run_lapack_tests = True
max_failing_lapack_tests_num_errors = 150
# extensive testing can be enabled by uncommenting the line below
# runtest = 'PATH=.:$PATH lapack-timing'
moduleclass = 'numlib'I haven't tested the latest commit so far, but have checked OpenBLAS 0.29.0, where the build succeeded (i.e. less than 150 total failures).
So I'd guess that some regression was introduced in 0.30.0.