Skip to content

{numlib}[NVHPC/24.9-CUDA-12.6.0] FlexiBLAS v3.4.4, OpenBLAS v0.3.27 w/ fb#21635

Closed
sassy-crick wants to merge 3 commits intoeasybuilders:developfrom
sassy-crick:20241014123704_new_pr_FlexiBLAS344
Closed

{numlib}[NVHPC/24.9-CUDA-12.6.0] FlexiBLAS v3.4.4, OpenBLAS v0.3.27 w/ fb#21635
sassy-crick wants to merge 3 commits intoeasybuilders:developfrom
sassy-crick:20241014123704_new_pr_FlexiBLAS344

Conversation

@sassy-crick
Copy link
Copy Markdown
Collaborator

@sassy-crick sassy-crick commented Oct 14, 2024

(created using eb --new-pr)

…AS-0.3.27-NVHPC-24.9-CUDA-12.6.0.eb, ScaLAPACK-2.2.0-nvompi-2024.9-fb.eb
@sassy-crick sassy-crick changed the title {numlib}[NVHPC/24.9-CUDA-12.6.0] FlexiBLAS v3.4.4, OpenBLAS v0.3.27, ScaLAPACK v2.2.0 w/ fb {numlib}[NVHPC/24.9-CUDA-12.6.0] FlexiBLAS v3.4.4, OpenBLAS v0.3.27 w/ fb Apr 15, 2025
@github-actions
Copy link
Copy Markdown

Updated software FlexiBLAS-3.4.4-NVHPC-24.9-CUDA-12.6.0.eb

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.4-NVHPC-24.9-CUDA-12.6.0.eb
index 1e8869fdce..be13ff1460 100644
--- a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.5-GCC-14.2.0.eb
+++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-NVHPC-24.9-CUDA-12.6.0.eb
@@ -1,35 +1,32 @@
 easyblock = 'Bundle'
 
 name = 'FlexiBLAS'
-version = '3.4.5'
+version = '3.4.4'
 
 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'}
-local_extra_flags = "-fstack-protector-strong -fstack-clash-protection"
+toolchain = {'name': 'NVHPC', 'version': '24.9-CUDA-12.6.0'}
+local_extra_flags = "-D__ELF__"
 toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags}
 
 builddependencies = [
-    ('CMake', '3.31.3'),
-    ('Python', '3.13.1'),  # required for running the tests
-    ('BLIS', '1.1'),
+    ('CMake', '3.29.3'),
+    ('Python', '3.12.3'),  # required for running the tests
 ]
-if ARCH == 'x86_64':
-    builddependencies.append(('AOCL-BLAS', '5.0'))
 
 dependencies = [
-    ('OpenBLAS', '0.3.29'),
+    ('OpenBLAS', '0.3.27'),
 ]
 
 # note: first listed backend will be used as default by FlexiBLAS,
 # unless otherwise specified via easyconfig parameter flexiblas_default
-local_backends = ['OpenBLAS', 'BLIS']
+local_backends = ['OpenBLAS']
 
 # imkl supplies its backend via the imkl module, not as a dependency
 if ARCH == 'x86_64':
-    local_backends.extend(['AOCL-BLAS', 'imkl'])
+    local_backends.append('imkl')
 
 default_component_specs = {'start_dir': '%(namelower)s-%(version)s'}
 sanity_check_all_components = True
@@ -37,10 +34,9 @@ sanity_check_all_components = True
 # Also build and install LAPACKE, which FlexiBLAS does not support yet
 components = [
     (name, version, {
-        'source_urls':
-        ['https://gitlab.mpi-magdeburg.mpg.de/api/v4/projects/386/packages/generic/flexiblas-source/v%(version)s/'],
+        'source_urls': ['https://github.com/mpimd-csc/flexiblas/releases/download/v%(version)s/'],
         'sources': [SOURCELOWER_TAR_GZ],
-        'checksums': ['e819949c614c4968919b0ea4e873ab916d95cdc6943e9d091a78d209b7d6ed07'],
+        'checksums': ['05040ae092142dd0bf38d1bb9ce33f6b475d9f9bb455e33be997932ae855c22b'],
         'backends': local_backends,
     }),
     ('LAPACK', '3.12.0', {
Diff against FlexiBLAS-3.4.4-GCC-13.3.0.eb

easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb

diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-NVHPC-24.9-CUDA-12.6.0.eb
index c8d1df6e85..be13ff1460 100644
--- a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb
+++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-NVHPC-24.9-CUDA-12.6.0.eb
@@ -7,15 +7,13 @@ 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': '13.3.0'}
-local_extra_flags = "-fstack-protector-strong -fstack-clash-protection"
+toolchain = {'name': 'NVHPC', 'version': '24.9-CUDA-12.6.0'}
+local_extra_flags = "-D__ELF__"
 toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags}
 
 builddependencies = [
     ('CMake', '3.29.3'),
     ('Python', '3.12.3'),  # required for running the tests
-    ('BLIS', '1.0'),
-    #   ('AOCL-BLAS', '5.0'),  # Uncomment for support for AOCL-BLAS
 ]
 
 dependencies = [
@@ -24,8 +22,7 @@ dependencies = [
 
 # note: first listed backend will be used as default by FlexiBLAS,
 # unless otherwise specified via easyconfig parameter flexiblas_default
-local_backends = ['OpenBLAS', 'BLIS']
-# local_backends =+ ['AOCL-BLAS']  # Uncomment for support for AOCL-BLAS
+local_backends = ['OpenBLAS']
 
 # imkl supplies its backend via the imkl module, not as a dependency
 if ARCH == 'x86_64':
@@ -37,8 +34,7 @@ sanity_check_all_components = True
 # Also build and install LAPACKE, which FlexiBLAS does not support yet
 components = [
     (name, version, {
-        'source_urls':
-        ['https://gitlab.mpi-magdeburg.mpg.de/api/v4/projects/386/packages/generic/flexiblas-source/v3.4.4/'],
+        'source_urls': ['https://github.com/mpimd-csc/flexiblas/releases/download/v%(version)s/'],
         'sources': [SOURCELOWER_TAR_GZ],
         'checksums': ['05040ae092142dd0bf38d1bb9ce33f6b475d9f9bb455e33be997932ae855c22b'],
         'backends': local_backends,
Diff against FlexiBLAS-3.3.1-GCC-13.2.0.eb

easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.3.1-GCC-13.2.0.eb

diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.3.1-GCC-13.2.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-NVHPC-24.9-CUDA-12.6.0.eb
index 4c6e509040..be13ff1460 100644
--- a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.3.1-GCC-13.2.0.eb
+++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-NVHPC-24.9-CUDA-12.6.0.eb
@@ -1,29 +1,28 @@
 easyblock = 'Bundle'
 
 name = 'FlexiBLAS'
-version = '3.3.1'
+version = '3.4.4'
 
 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': '13.2.0'}
-local_extra_flags = "-fstack-protector-strong -fstack-clash-protection"
+toolchain = {'name': 'NVHPC', 'version': '24.9-CUDA-12.6.0'}
+local_extra_flags = "-D__ELF__"
 toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags}
 
 builddependencies = [
-    ('CMake', '3.27.6'),
-    ('Python', '3.11.5'),  # required for running the tests
-    ('BLIS', '0.9.0'),
+    ('CMake', '3.29.3'),
+    ('Python', '3.12.3'),  # required for running the tests
 ]
 
 dependencies = [
-    ('OpenBLAS', '0.3.24'),
+    ('OpenBLAS', '0.3.27'),
 ]
 
 # note: first listed backend will be used as default by FlexiBLAS,
 # unless otherwise specified via easyconfig parameter flexiblas_default
-local_backends = ['OpenBLAS', 'BLIS']
+local_backends = ['OpenBLAS']
 
 # imkl supplies its backend via the imkl module, not as a dependency
 if ARCH == 'x86_64':
@@ -35,17 +34,16 @@ sanity_check_all_components = True
 # Also build and install LAPACKE, which FlexiBLAS does not support yet
 components = [
     (name, version, {
-        'source_urls':
-        ['https://gitlab.mpi-magdeburg.mpg.de/api/v4/projects/386/packages/generic/flexiblas-source/v3.3.1/'],
+        'source_urls': ['https://github.com/mpimd-csc/flexiblas/releases/download/v%(version)s/'],
         'sources': [SOURCELOWER_TAR_GZ],
-        'checksums': ['bbeebf5e5a006924558fec43f49affbe1aaa4cbacfc472a9ff6066ffda142e18'],
+        'checksums': ['05040ae092142dd0bf38d1bb9ce33f6b475d9f9bb455e33be997932ae855c22b'],
         'backends': local_backends,
     }),
-    ('LAPACK', '3.11.0', {
+    ('LAPACK', '3.12.0', {
         'easyblock': 'CMakeMake',
         'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'],
         'sources': ['v%(version)s.tar.gz'],
-        'checksums': ['4b9ba79bfd4921ca820e83979db76ab3363155709444a787979e81c22285ffa9'],
+        'checksums': ['eac9570f8e0ad6f30ce4b963f4f033f0f643e7c3912fc9ee6cd99120675ad48b'],
         'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON '
                        '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON '
                        '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'),

Updated software OpenBLAS-0.3.27-NVHPC-24.9-CUDA-12.6.0.eb

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.27-NVHPC-24.9-CUDA-12.6.0.eb
index f30506242a..835895f386 100644
--- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.29-GCC-14.2.0.eb
+++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-NVHPC-24.9-CUDA-12.6.0.eb
@@ -1,10 +1,10 @@
 name = 'OpenBLAS'
-version = '0.3.29'
+version = '0.3.27'
 
-homepage = 'https://www.openblas.net/'
+homepage = 'http://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': 'NVHPC', 'version': '24.9-CUDA-12.6.0'}
 
 source_urls = [
     # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble
@@ -17,26 +17,30 @@ patches = [
     ('timing.tgz', '.'),
     'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch',
     'OpenBLAS-0.3.21_fix-order-vectorization.patch',
+    'OpenBLAS-0.3.26_lapack_qr_noninittest.patch',
+    'OpenBLAS-0.3.27_fix_zscal.patch',
+    'OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch',
 ]
 checksums = [
-    {'v0.3.29.tar.gz': '38240eee1b29e2bde47ebb5d61160207dc68668a54cac62c076bb5032013b1eb'},
+    {'v0.3.27.tar.gz': 'aa2d68b1564fe2b13bc292672608e9cdeeeb6dc34995512e65c3b10f4599e897'},
     {'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.26_lapack_qr_noninittest.patch': '4781bf1d7b239374fd8069e15b4e2c0ef0e8efaa1a7d4c33557bd5b27e5de77c'},
+    {'OpenBLAS-0.3.27_fix_zscal.patch': '9210d7b66538dabaddbe1bfceb16f8225708856f60876ca5561b19d3599f9fd1'},
+    {'OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch':
+     'f374e41efffd592ab1c9034df9e7abf1045ed151f4fc0fd0da618ce9826f2d4b'},
 ]
 
 builddependencies = [
     ('make', '4.4.1'),
     # required by LAPACK test suite
-    ('Python', '3.13.1'),
+    ('Python', '3.12.3'),
 ]
 
-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'
 
Diff against OpenBLAS-0.3.27-GCC-13.3.0-seq-iface64.eb

easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0-seq-iface64.eb

diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0-seq-iface64.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-NVHPC-24.9-CUDA-12.6.0.eb
index 5527c667f6..835895f386 100644
--- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0-seq-iface64.eb
+++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-NVHPC-24.9-CUDA-12.6.0.eb
@@ -1,11 +1,10 @@
 name = 'OpenBLAS'
 version = '0.3.27'
-versionsuffix = '-seq-iface64'
 
-homepage = 'https://www.openblas.net/'
+homepage = 'http://www.openblas.net/'
 description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version."
 
-toolchain = {'name': 'GCC', 'version': '13.3.0'}
+toolchain = {'name': 'NVHPC', 'version': '24.9-CUDA-12.6.0'}
 
 source_urls = [
     # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble
@@ -42,18 +41,6 @@ builddependencies = [
     ('Python', '3.12.3'),
 ]
 
-# INTERFACE64=1 needs if you link OpenBLAS for fortran code compied with 64 bit integers (-i8)
-# This would be in intel library naming convention ilp64
-# The USE_OPENMP=0 and USE_THREAD=0 needs for the single threaded version
-# The USE_LOCKING=1 needs for thread safe version (if threaded software calls OpenBLAS, without it
-# OpenBLAS is not thread safe (so only single threaded software would be able to use it)
-buildopts = "INTERFACE64=1 USE_OPENMP=0 USE_THREAD=0 USE_LOCKING=1 "
-testopts = buildopts
-installopts = buildopts
-
-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'
 
Diff against OpenBLAS-0.3.27-GCC-13.2.0-seq-iface64.eb

easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.2.0-seq-iface64.eb

diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.2.0-seq-iface64.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-NVHPC-24.9-CUDA-12.6.0.eb
index f205e063da..835895f386 100644
--- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.2.0-seq-iface64.eb
+++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-NVHPC-24.9-CUDA-12.6.0.eb
@@ -1,11 +1,10 @@
 name = 'OpenBLAS'
 version = '0.3.27'
-versionsuffix = '-seq-iface64'
 
-homepage = 'https://www.openblas.net/'
+homepage = 'http://www.openblas.net/'
 description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version."
 
-toolchain = {'name': 'GCC', 'version': '13.2.0'}
+toolchain = {'name': 'NVHPC', 'version': '24.9-CUDA-12.6.0'}
 
 source_urls = [
     # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble
@@ -39,21 +38,9 @@ checksums = [
 builddependencies = [
     ('make', '4.4.1'),
     # required by LAPACK test suite
-    ('Python', '3.11.5'),
+    ('Python', '3.12.3'),
 ]
 
-# INTERFACE64=1 needs if you link OpenBLAS for fortran code compied with 64 bit integers (-i8)
-# This would be in intel library naming convention ilp64
-# The USE_OPENMP=0 and USE_THREAD=0 needs for the single threaded version
-# The USE_LOCKING=1 needs for thread safe version (if threaded software calls OpenBLAS, without it
-# OpenBLAS is not thread safe (so only single threaded software would be able to use it)
-buildopts = "INTERFACE64=1 USE_OPENMP=0 USE_THREAD=0 USE_LOCKING=1 "
-testopts = buildopts
-installopts = buildopts
-
-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'
 

@sassy-crick
Copy link
Copy Markdown
Collaborator Author

Test report for EasyBuild/5.0.0. can be found here

@sassy-crick
Copy link
Copy Markdown
Collaborator Author

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

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

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 2805398045 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
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
jsczen3c1.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/47e7a0da5a992fc2d6b4d8f425f2f7b7 for a full test report.

@sassy-crick
Copy link
Copy Markdown
Collaborator Author

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

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

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 2997635880 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
Copy Markdown
Collaborator

Test report by @boegelbot
FAILED
Build succeeded for 1 out of 2 (2 easyconfigs in total)
jsczen3c1.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/884d7852195d4f8798aaf261d02d9809 for a full test report.

@sassy-crick
Copy link
Copy Markdown
Collaborator Author

Now, that is something I don't really understand: Why was that all working a few months ago with the 5.0.0 version but not with the recent 5.1.0 one? All I done was synced the PR.

@sassy-crick sassy-crick added the 2024a issues & PRs related to 2024a common toolchains label Aug 18, 2025
@Thyre
Copy link
Copy Markdown
Collaborator

Thyre commented Aug 18, 2025

FlexiBLAS and NVHPC can be a bit of a nightmare. With this exact combination, we saw:

"/dev/shm/swmanage/jedi/FlexiBLAS/3.4.4/NVHPC-24.9-CUDA-12/flexiblas-3.4.4/libcscutils/src/common/counter.c", line 141: error: unrecognized preprocessing directive
#warning RDTSC is not supported on this platform. DO NOT TRUST THE RESULTS
^

on aarch64. The warning itself is concerning enough. The failure because of #warning was just the cherry on top.
We also have:

"/dev/shm/swmanage/jedi/FlexiBLAS/3.4.4/NVHPC-24.9-CUDA-12/easybuild_obj/include/flexiblas_config.h", line 113: warning: unrecognized preprocessing directive [bad_pp_directive_keyword]
#warning Thread Local Storage not aviable. FlexiBLAS might cause problems in multithreaded applications.

So even if the build works, we really need to carefully investigate if the build is actually doing what we expect.
I've reported this to NVIDIA a while ago, and at least the first error (not handling #warning) should be fixed in NVHPC 25.7 and later.

@Thyre
Copy link
Copy Markdown
Collaborator

Thyre commented Dec 15, 2025

With the new NVHPC toolchain being introduced in EasyBuild v5.2.0, I'm not sure if we should promote the old NVHPC toolchains anymore, even if this is targeting an old toolchain generation...

@sassy-crick
Copy link
Copy Markdown
Collaborator Author

With the new NVHPC toolchain being introduced in EasyBuild v5.2.0, I'm not sure if we should promote the old NVHPC toolchains anymore, even if this is targeting an old toolchain generation...

Agreed. That PR stems from a time before we had converged on how to set up NVHPC, so I will close this one, and the other old ones I had open.

@sassy-crick sassy-crick deleted the 20241014123704_new_pr_FlexiBLAS344 branch December 16, 2025 21:10
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.

3 participants