Skip to content

split NVHPC v25 easyconfigs into nvidia-compilers#23125

Merged
boegel merged 4 commits intoeasybuilders:developfrom
lexming:nvhpc
Dec 14, 2025
Merged

split NVHPC v25 easyconfigs into nvidia-compilers#23125
boegel merged 4 commits intoeasybuilders:developfrom
lexming:nvhpc

Conversation

@lexming
Copy link
Contributor

@lexming lexming commented Jun 18, 2025

Fixes #easybuilders/easybuild-framework#4853

Depends on:

Rework recent NVHPC v25+ easyconfigs to work with then new NVHPC/nvidia-compilers toolchains.

  • nvidia-compilers only provide the compilers
  • NVHPC provide nvidia-compilers plus MPI and math libraries

Both toolchains can have variants with an external CUDA library.

@github-actions
Copy link

github-actions bot commented Jun 18, 2025

Updated software NVHPC-25.1.eb

Diff against NVHPC-25.3-CUDA-12.8.0.eb

easybuild/easyconfigs/n/NVHPC/NVHPC-25.3-CUDA-12.8.0.eb

diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-25.3-CUDA-12.8.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-25.1.eb
index ccafff8d0a..7c7b0c741f 100644
--- a/easybuild/easyconfigs/n/NVHPC/NVHPC-25.3-CUDA-12.8.0.eb
+++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-25.1.eb
@@ -1,6 +1,5 @@
 name = 'NVHPC'
-version = '25.3'
-versionsuffix = '-CUDA-%(cudaver)s'
+version = '25.1'
 
 homepage = 'https://developer.nvidia.com/hpc-sdk/'
 description = """Complete toolchain based on NVIDIA HPC SDK. Includes C, C++ and FORTRAN
@@ -17,19 +16,18 @@ sources = [local_tarball_tmpl % '%(arch)s']
 checksums = [
     {
         local_tarball_tmpl % 'aarch64':
-            'a2b86cf5141c0a9b0925999521693981451a8d2403367c36c46238163be6f2bb',
+            '0e1d694d54d44559155024d5bab4ca6764eba52d3f27b89f5c252416976e0360',
         local_tarball_tmpl % 'x86_64':
-            'e2b2c911478a5db6a15d1fd258a8c4004dbfccf6f32f4132fe142a24fb7e6f8f',
+            '0813791f8363f4c493db7891b00396ce522cb73910279b8f18a440aedda6727c',
     }
 ]
 
 dependencies = [
-    ('CUDA', '12.8.0'),
-    ('nvidia-compilers', version, versionsuffix),
+    ('nvidia-compilers', version),
 ]
 
-# NVHPC needs CUDA to work. This easyconfig uses external CUDA from EasyBuild.
-# The default CUDA version used by NVHPC will be the version of loaded CUDA module
+# NVHPC needs CUDA to work. This easyconfig uses CUDA bundled in NVHPC
+# The default CUDA version used by NVHPC is the one defined in nvidia-compilers
 
 # The default Compute Capability used by NVHPC is the one defined in nvidia-compilers (if any)
 
Diff against NVHPC-25.1-CUDA-12.6.0.eb

easybuild/easyconfigs/n/NVHPC/NVHPC-25.1-CUDA-12.6.0.eb

diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-25.1-CUDA-12.6.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-25.1.eb
index d34825a8c2..7c7b0c741f 100644
--- a/easybuild/easyconfigs/n/NVHPC/NVHPC-25.1-CUDA-12.6.0.eb
+++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-25.1.eb
@@ -1,6 +1,5 @@
 name = 'NVHPC'
 version = '25.1'
-versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://developer.nvidia.com/hpc-sdk/'
 description = """Complete toolchain based on NVIDIA HPC SDK. Includes C, C++ and FORTRAN
@@ -24,12 +23,11 @@ checksums = [
 ]
 
 dependencies = [
-    ('CUDA', '12.6.0'),
-    ('nvidia-compilers', version, versionsuffix),
+    ('nvidia-compilers', version),
 ]
 
-# NVHPC needs CUDA to work. This easyconfig uses external CUDA from EasyBuild.
-# The default CUDA version used by NVHPC will be the version of loaded CUDA module
+# NVHPC needs CUDA to work. This easyconfig uses CUDA bundled in NVHPC
+# The default CUDA version used by NVHPC is the one defined in nvidia-compilers
 
 # The default Compute Capability used by NVHPC is the one defined in nvidia-compilers (if any)
 
Diff against NVHPC-24.11-CUDA-12.6.0.eb

easybuild/easyconfigs/n/NVHPC/NVHPC-24.11-CUDA-12.6.0.eb

diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-24.11-CUDA-12.6.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-25.1.eb
index 546b28e714..7c7b0c741f 100644
--- a/easybuild/easyconfigs/n/NVHPC/NVHPC-24.11-CUDA-12.6.0.eb
+++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-25.1.eb
@@ -1,73 +1,34 @@
 name = 'NVHPC'
-version = '24.11'
-versionsuffix = '-CUDA-%(cudaver)s'
+version = '25.1'
 
 homepage = 'https://developer.nvidia.com/hpc-sdk/'
-description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)"""
+description = """Complete toolchain based on NVIDIA HPC SDK. Includes C, C++ and FORTRAN
+compilers (nvidia-compilers), an MPI implementation based on OpenMPI (NVHPCX)
+and math libraries based on OpenBLAS and ScaLAPACK."""
 
 toolchain = SYSTEM
 
-local_tarball_tmpl = 'nvhpc_2024_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz'
 # By downloading, you accept the HPC SDK Software License Agreement
 # https://docs.nvidia.com/hpc-sdk/eula/index.html
-# accept_eula = True
+local_tarball_tmpl = 'nvhpc_2025_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz'
 source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/']
 sources = [local_tarball_tmpl % '%(arch)s']
 checksums = [
     {
         local_tarball_tmpl % 'aarch64':
-            'f2f64e5dec5e90dad5e12a31a992172b0aa19abf872ef1c54a1a437c7008eefb',
+            '0e1d694d54d44559155024d5bab4ca6764eba52d3f27b89f5c252416976e0360',
         local_tarball_tmpl % 'x86_64':
-            '0c27d66ed0e2d3007d30ac904922a9abf96475197dc0f4dcc6316d235a1dc0c3',
+            '0813791f8363f4c493db7891b00396ce522cb73910279b8f18a440aedda6727c',
     }
 ]
 
-local_gccver = '13.3.0'
 dependencies = [
-    ('GCCcore', local_gccver),
-    ('binutils', '2.42', '', ('GCCcore', local_gccver)),
-    # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails
-    ('numactl', '2.0.18', '', ('GCCcore', local_gccver)),
-    ('CUDA', '12.6.0', '', SYSTEM),
+    ('nvidia-compilers', version),
 ]
 
-module_add_cuda = False
+# NVHPC needs CUDA to work. This easyconfig uses CUDA bundled in NVHPC
+# The default CUDA version used by NVHPC is the one defined in nvidia-compilers
 
-# specify default CUDA version that should be used by NVHPC
-# should match one of the CUDA versions that are included with this NVHPC version
-# (see install_components/Linux_x86_64/$version/cuda/) where $version is the NVHPC version
-# this version can be tweaked from the EasyBuild command line with
-# --try-amend=default_cuda_version="11.0" (for example)
-default_cuda_version = '%(cudaver)s'
+# The default Compute Capability used by NVHPC is the one defined in nvidia-compilers (if any)
 
-# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig.
-# The following list gives examples for the easyconfig
-#
-# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA
-# 1) Bundled CUDA
-#    If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with
-#      default_cuda_version = "11.0"
-#    in this easyconfig file; alternatively, it can be specified through the command line during installation with
-#      --try-amend=default_cuda_version="10.2"
-# 2) CUDA provided via EasyBuild
-#    Use CUDA as a dependency, for example
-#      dependencies = [('CUDA', '11.5.0')]
-#    The parameter default_cuda_version still can be set as above.
-#    If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA)
-#
-# Define a NVHPC-default Compute Capability
-#   cuda_compute_capabilities = "8.0"
-# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0
-# Only single values supported, not lists of values!
-#
-# Options to add/remove things to/from environment module (defaults shown)
-#   module_byo_compilers = False  # Remove compilers from PATH (Bring-your-own compilers)
-#   module_nvhpc_own_mpi = False  # Add NVHPC's own pre-compiled OpenMPI
-#   module_add_math_libs = False  # Add NVHPC's math libraries (which should be there from CUDA anyway)
-#   module_add_profilers = False  # Add NVHPC's NVIDIA Profilers
-#   module_add_nccl = False       # Add NVHPC's NCCL library
-#   module_add_nvshmem = False    # Add NVHPC's NVSHMEM library
-#   module_add_cuda = False       # Add NVHPC's bundled CUDA
-
-# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS)
-moduleclass = 'compiler'
+moduleclass = 'toolchain'

Updated software NVHPC-25.3.eb

Diff against NVHPC-25.3-CUDA-12.8.0.eb

easybuild/easyconfigs/n/NVHPC/NVHPC-25.3-CUDA-12.8.0.eb

diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-25.3-CUDA-12.8.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-25.3.eb
index ccafff8d0a..4c6f1148c3 100644
--- a/easybuild/easyconfigs/n/NVHPC/NVHPC-25.3-CUDA-12.8.0.eb
+++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-25.3.eb
@@ -1,6 +1,5 @@
 name = 'NVHPC'
 version = '25.3'
-versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://developer.nvidia.com/hpc-sdk/'
 description = """Complete toolchain based on NVIDIA HPC SDK. Includes C, C++ and FORTRAN
@@ -24,12 +23,11 @@ checksums = [
 ]
 
 dependencies = [
-    ('CUDA', '12.8.0'),
-    ('nvidia-compilers', version, versionsuffix),
+    ('nvidia-compilers', version),
 ]
 
-# NVHPC needs CUDA to work. This easyconfig uses external CUDA from EasyBuild.
-# The default CUDA version used by NVHPC will be the version of loaded CUDA module
+# NVHPC needs CUDA to work. This easyconfig uses CUDA bundled in NVHPC
+# The default CUDA version used by NVHPC is the one defined in nvidia-compilers
 
 # The default Compute Capability used by NVHPC is the one defined in nvidia-compilers (if any)
 
Diff against NVHPC-25.1-CUDA-12.6.0.eb

easybuild/easyconfigs/n/NVHPC/NVHPC-25.1-CUDA-12.6.0.eb

diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-25.1-CUDA-12.6.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-25.3.eb
index d34825a8c2..4c6f1148c3 100644
--- a/easybuild/easyconfigs/n/NVHPC/NVHPC-25.1-CUDA-12.6.0.eb
+++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-25.3.eb
@@ -1,6 +1,5 @@
 name = 'NVHPC'
-version = '25.1'
-versionsuffix = '-CUDA-%(cudaver)s'
+version = '25.3'
 
 homepage = 'https://developer.nvidia.com/hpc-sdk/'
 description = """Complete toolchain based on NVIDIA HPC SDK. Includes C, C++ and FORTRAN
@@ -17,19 +16,18 @@ sources = [local_tarball_tmpl % '%(arch)s']
 checksums = [
     {
         local_tarball_tmpl % 'aarch64':
-            '0e1d694d54d44559155024d5bab4ca6764eba52d3f27b89f5c252416976e0360',
+            'a2b86cf5141c0a9b0925999521693981451a8d2403367c36c46238163be6f2bb',
         local_tarball_tmpl % 'x86_64':
-            '0813791f8363f4c493db7891b00396ce522cb73910279b8f18a440aedda6727c',
+            'e2b2c911478a5db6a15d1fd258a8c4004dbfccf6f32f4132fe142a24fb7e6f8f',
     }
 ]
 
 dependencies = [
-    ('CUDA', '12.6.0'),
-    ('nvidia-compilers', version, versionsuffix),
+    ('nvidia-compilers', version),
 ]
 
-# NVHPC needs CUDA to work. This easyconfig uses external CUDA from EasyBuild.
-# The default CUDA version used by NVHPC will be the version of loaded CUDA module
+# NVHPC needs CUDA to work. This easyconfig uses CUDA bundled in NVHPC
+# The default CUDA version used by NVHPC is the one defined in nvidia-compilers
 
 # The default Compute Capability used by NVHPC is the one defined in nvidia-compilers (if any)
 
Diff against NVHPC-24.11-CUDA-12.6.0.eb

easybuild/easyconfigs/n/NVHPC/NVHPC-24.11-CUDA-12.6.0.eb

diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-24.11-CUDA-12.6.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-25.3.eb
index 546b28e714..4c6f1148c3 100644
--- a/easybuild/easyconfigs/n/NVHPC/NVHPC-24.11-CUDA-12.6.0.eb
+++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-25.3.eb
@@ -1,73 +1,34 @@
 name = 'NVHPC'
-version = '24.11'
-versionsuffix = '-CUDA-%(cudaver)s'
+version = '25.3'
 
 homepage = 'https://developer.nvidia.com/hpc-sdk/'
-description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)"""
+description = """Complete toolchain based on NVIDIA HPC SDK. Includes C, C++ and FORTRAN
+compilers (nvidia-compilers), an MPI implementation based on OpenMPI (NVHPCX)
+and math libraries based on OpenBLAS and ScaLAPACK."""
 
 toolchain = SYSTEM
 
-local_tarball_tmpl = 'nvhpc_2024_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz'
 # By downloading, you accept the HPC SDK Software License Agreement
 # https://docs.nvidia.com/hpc-sdk/eula/index.html
-# accept_eula = True
+local_tarball_tmpl = 'nvhpc_2025_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz'
 source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/']
 sources = [local_tarball_tmpl % '%(arch)s']
 checksums = [
     {
         local_tarball_tmpl % 'aarch64':
-            'f2f64e5dec5e90dad5e12a31a992172b0aa19abf872ef1c54a1a437c7008eefb',
+            'a2b86cf5141c0a9b0925999521693981451a8d2403367c36c46238163be6f2bb',
         local_tarball_tmpl % 'x86_64':
-            '0c27d66ed0e2d3007d30ac904922a9abf96475197dc0f4dcc6316d235a1dc0c3',
+            'e2b2c911478a5db6a15d1fd258a8c4004dbfccf6f32f4132fe142a24fb7e6f8f',
     }
 ]
 
-local_gccver = '13.3.0'
 dependencies = [
-    ('GCCcore', local_gccver),
-    ('binutils', '2.42', '', ('GCCcore', local_gccver)),
-    # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails
-    ('numactl', '2.0.18', '', ('GCCcore', local_gccver)),
-    ('CUDA', '12.6.0', '', SYSTEM),
+    ('nvidia-compilers', version),
 ]
 
-module_add_cuda = False
+# NVHPC needs CUDA to work. This easyconfig uses CUDA bundled in NVHPC
+# The default CUDA version used by NVHPC is the one defined in nvidia-compilers
 
-# specify default CUDA version that should be used by NVHPC
-# should match one of the CUDA versions that are included with this NVHPC version
-# (see install_components/Linux_x86_64/$version/cuda/) where $version is the NVHPC version
-# this version can be tweaked from the EasyBuild command line with
-# --try-amend=default_cuda_version="11.0" (for example)
-default_cuda_version = '%(cudaver)s'
+# The default Compute Capability used by NVHPC is the one defined in nvidia-compilers (if any)
 
-# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig.
-# The following list gives examples for the easyconfig
-#
-# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA
-# 1) Bundled CUDA
-#    If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with
-#      default_cuda_version = "11.0"
-#    in this easyconfig file; alternatively, it can be specified through the command line during installation with
-#      --try-amend=default_cuda_version="10.2"
-# 2) CUDA provided via EasyBuild
-#    Use CUDA as a dependency, for example
-#      dependencies = [('CUDA', '11.5.0')]
-#    The parameter default_cuda_version still can be set as above.
-#    If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA)
-#
-# Define a NVHPC-default Compute Capability
-#   cuda_compute_capabilities = "8.0"
-# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0
-# Only single values supported, not lists of values!
-#
-# Options to add/remove things to/from environment module (defaults shown)
-#   module_byo_compilers = False  # Remove compilers from PATH (Bring-your-own compilers)
-#   module_nvhpc_own_mpi = False  # Add NVHPC's own pre-compiled OpenMPI
-#   module_add_math_libs = False  # Add NVHPC's math libraries (which should be there from CUDA anyway)
-#   module_add_profilers = False  # Add NVHPC's NVIDIA Profilers
-#   module_add_nccl = False       # Add NVHPC's NCCL library
-#   module_add_nvshmem = False    # Add NVHPC's NVSHMEM library
-#   module_add_cuda = False       # Add NVHPC's bundled CUDA
-
-# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS)
-moduleclass = 'compiler'
+moduleclass = 'toolchain'

@lexming
Copy link
Contributor Author

lexming commented Jun 24, 2025

Test report by @lexming
SUCCESS
Build succeeded for 8 out of 8 (8 easyconfigs in total)
node500.anansi.os - Linux Rocky Linux 8.10 (Green Obsidian), x86_64, Intel(R) Xeon(R) CPU E5-2683 v4 @ 2.10GHz, 1 x NVIDIA NVIDIA GeForce GTX 1080 Ti, 570.124.06, Python 3.9.20
See https://gist.github.com/lexming/843308e2768c86e198f935d1c3dbe9f4 for a full test report.

@lexming
Copy link
Contributor Author

lexming commented Jul 25, 2025

Test report by @lexming
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3788
SUCCESS
Build succeeded for 22 out of 22 (8 easyconfigs in total)
node250.hydra.os - Linux Rocky Linux 9.5 (Blue Onyx), x86_64, Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz, 1 x NVIDIA Tesla P100-PCIE-16GB, 570.158.01, Python 3.9.21
See https://gist.github.com/lexming/47ba4a21744241f156755f9a8aa783a6 for a full test report.

@Thyre
Copy link
Collaborator

Thyre commented Aug 28, 2025

Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3788
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
ZAM054 - Linux Zorin OS 17, x86_64, 12th Gen Intel(R) Core(TM) i7-1260P, 1 x NVIDIA NVIDIA GeForce MX550, 580.65.06, Python 3.10.12
See https://gist.github.com/Thyre/a7c20a2f7e12931fe68730f730e4cc2a for a full test report.

adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Oct 31, 2025
Based on [easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It swaps out the SYSTEM toolchain for
GCCcore-13.2.0 and uses that same gcccore version in the other deps.
Also default to CUDA-12.4.
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Oct 31, 2025
Based on [easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It swaps out the SYSTEM toolchain for
GCCcore-13.2.0 and uses that same gcccore version in the other deps.
Also default to CUDA-12.4.

Requires:
+ easybuilders/easybuild-easyblocks#3788
+ easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Oct 31, 2025
Based on [easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It swaps out the SYSTEM toolchain for
GCCcore-13.2.0 and uses that same gcccore version in the other deps.
Also default to CUDA-12.4.

Requires:
+ easybuilders/easybuild-easyblocks#3788
+ easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Oct 31, 2025
Based on [easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It swaps out the SYSTEM toolchain for
GCCcore-13.2.0 and uses that same gcccore version in the other deps.
Also default to CUDA-12.4.

Requires:
+ easybuilders/easybuild-easyblocks#3788
+ easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Oct 31, 2025
Based on [easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It swaps out the SYSTEM toolchain for
GCCcore-13.2.0 and uses that same gcccore version in the other deps.
Also default to CUDA-12.4.

Requires:
+ easybuilders/easybuild-easyblocks#3788
+ easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Oct 31, 2025
Based on [easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It swaps out the SYSTEM toolchain for
GCCcore-13.2.0 and uses that same gcccore version in the other deps.
Also default to CUDA-12.4.

Requires:
+ easybuilders/easybuild-easyblocks#3788
+ easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 1, 2025
Based on [easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It swaps out the SYSTEM toolchain for
GCCcore-13.2.0 and uses that same gcccore version in the other deps.
Also default to CUDA-12.4.

Requires:
+ easybuilders/easybuild-easyblocks#3788
+ easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 1, 2025
Based on [easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It swaps out the SYSTEM toolchain for
GCCcore-13.2.0 and uses that same gcccore version in the other deps.
Also default to CUDA-12.4.

Requires:
+ easybuilders/easybuild-easyblocks#3788
+ easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 1, 2025
    Based on [easybuilders#23125](easybuilders#23125),
    this tries out one possible variation of an easyconfig for the NVHPC
    toolchain. The nvidia-compilers dependency also uses the
    GCCcore-13.2.0 toolchain.

    This is to make the module compatible with the defaults in
    EESSI/2023.06. It swaps out the SYSTEM toolchain for GCCcore-13.2.0
    and uses that same gcccore version in the other deps.  Also default
    to CUDA-12.4.

    Requires:
    + easybuilders/easybuild-easyblocks#3788
    + easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 3, 2025
Based on [easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It swaps out the SYSTEM toolchain for
GCCcore-13.2.0 and uses that same gcccore version in the other deps.
Also default to CUDA-12.4.

Requires:
+ easybuilders/easybuild-easyblocks#3788
+ easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 3, 2025
    Based on [easybuilders#23125](easybuilders#23125),
    this tries out one possible variation of an easyconfig for the NVHPC
    toolchain. The nvidia-compilers dependency also uses the
    GCCcore-13.2.0 toolchain.

    This is to make the module compatible with the defaults in
    EESSI/2023.06. It swaps out the SYSTEM toolchain for GCCcore-13.2.0
    and uses that same gcccore version in the other deps.  Also default
    to CUDA-12.4.

    Requires:
    + easybuilders/easybuild-easyblocks#3788
    + easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 3, 2025
Based on [easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It swaps out the SYSTEM toolchain for
GCCcore-13.2.0 and uses that same gcccore version in the other deps.
Also default to CUDA-12.9.0.

Requires:
+ easybuilders/easybuild-easyblocks#3788
+ easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 3, 2025
    Based on [easybuilders#23125](easybuilders#23125),
    this tries out one possible variation of an easyconfig for the NVHPC
    toolchain. The nvidia-compilers dependency also uses the
    GCCcore-13.2.0 toolchain.

    This is to make the module compatible with the defaults in
    EESSI/2023.06. It swaps out the SYSTEM toolchain for GCCcore-13.2.0
    and uses that same gcccore version in the other deps.  Also default
    to CUDA-12.9.0.

    Requires:
    + easybuilders/easybuild-easyblocks#3788
    + easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 3, 2025
Based on [easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It swaps out the SYSTEM toolchain for
GCCcore-13.2.0 and uses that same gcccore version in the other deps.
Also default to CUDA-12.9.0.

Requires:
+ easybuilders/easybuild-easyblocks#3788
+ easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 3, 2025
    Based on [easybuilders#23125](easybuilders#23125),
    this tries out one possible variation of an easyconfig for the NVHPC
    toolchain. The nvidia-compilers dependency also uses the
    GCCcore-13.2.0 toolchain.

    This is to make the module compatible with the defaults in
    EESSI/2023.06. It swaps out the SYSTEM toolchain for GCCcore-13.2.0
    and uses that same gcccore version in the other deps.  Also default
    to CUDA-12.9.0.

    Requires:
    + easybuilders/easybuild-easyblocks#3788
    + easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 6, 2025
    Based on [easybuilders#23125](easybuilders#23125),
    this tries out one possible variation of an easyconfig for the NVHPC
    toolchain. The nvidia-compilers dependency also uses the
    GCCcore-13.2.0 toolchain.

    This is to make the module compatible with the defaults in
    EESSI/2023.06. It swaps out the SYSTEM toolchain for GCCcore-13.2.0
    and uses that same gcccore version in the other deps.  Also default
    to CUDA-12.9.0.

    Requires:
    + easybuilders/easybuild-easyblocks#3788
    + easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 6, 2025
Based on [easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It swaps out the SYSTEM toolchain for
GCCcore-13.2.0 and uses that same gcccore version in the other deps.
Also default to CUDA-12.9.0.

Requires:
+ easybuilders/easybuild-easyblocks#3788
+ easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 6, 2025
    Based on [easybuilders#23125](easybuilders#23125),
    this tries out one possible variation of an easyconfig for the NVHPC
    toolchain. The nvidia-compilers dependency also uses the
    GCCcore-13.2.0 toolchain.

    This is to make the module compatible with the defaults in
    EESSI/2023.06. It swaps out the SYSTEM toolchain for GCCcore-13.2.0
    and uses that same gcccore version in the other deps.  Also default
    to CUDA-12.9.0.

    Requires:
    + easybuilders/easybuild-easyblocks#3788
    + easybuilders/easybuild-framework#4927
adammccartney added a commit to adammccartney/easybuild-easyconfigs that referenced this pull request Nov 6, 2025
Based on
[easybuilders#23125](easybuilders#23125),
this tries out one possible variation of an easyconfig for the
nvidia-compilers. This is to make the module compatible with the
defaults in EESSI/2023.06. It sets local_gccver to GCCcore-13.2.0
for compatibility with numactl and binutils from EESSI/2023.06.

Requires:
+ easybuilders/easybuild-easyblocks#3788
+ easybuilders/easybuild-framework#4927
@lexming
Copy link
Contributor Author

lexming commented Nov 21, 2025

Test report by @lexming
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3788
SUCCESS
Build succeeded for 9 out of 9 (total: 46 mins 29 secs) (8 easyconfigs in total)
node400.hydra.os - Linux Rocky Linux 9.6 (Blue Onyx), x86_64, AMD EPYC 7282 16-Core Processor, 1 x NVIDIA NVIDIA A100-PCIE-40GB, 580.95.05, Python 3.9.21
See https://gist.github.com/lexming/26f604699123b2ff0e67d228ab5e740c for a full test report.

@lexming
Copy link
Contributor Author

lexming commented Nov 21, 2025

Test report by @lexming
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3788
SUCCESS
Build succeeded for 8 out of 8 (total: 32 mins 55 secs) (8 easyconfigs in total)
node800.hydra.os - Linux Rocky Linux 9.6 (Blue Onyx), x86_64, AMD EPYC 9275F 24-Core Processor, 1 x NVIDIA NVIDIA H200 NVL, 580.95.05, Python 3.9.21
See https://gist.github.com/lexming/5f38d13b06fd79c6a99eed7bc31de87e for a full test report.

@boegel
Copy link
Member

boegel commented Dec 14, 2025

Test report by @boegel
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3788
SUCCESS
Build succeeded for 8 out of 8 (total: 35 mins 26 secs) (8 easyconfigs in total)
node4245.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/decbb462302043cd8be25badea26bffc for a full test report.

Copy link
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

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

lgtm

@github-actions github-actions bot added the new label Dec 14, 2025
@boegel boegel added this to the next release (5.2.0) milestone Dec 14, 2025
@boegel
Copy link
Member

boegel commented Dec 14, 2025

Going in, thanks @lexming!

@boegel boegel merged commit 791d2d8 into easybuilders:develop Dec 14, 2025
10 of 14 checks passed
@lexming lexming deleted the nvhpc branch December 15, 2025 10:56
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.

3 participants