Skip to content

Add back easybuild.toolchains.compiler.nvhpc#5089

Merged
lexming merged 6 commits intoeasybuilders:developfrom
Flamefire:nvhpc_compat
Jan 19, 2026
Merged

Add back easybuild.toolchains.compiler.nvhpc#5089
lexming merged 6 commits intoeasybuilders:developfrom
Flamefire:nvhpc_compat

Conversation

@Flamefire
Copy link
Contributor

NVHPC was replaced by NvidiaCompilers in EasyBuild 5.2.0 (f1761f8) which is an accidental breaking change.
Add it back with a deprecation notice making sure both are equal for now.

`NVHPC` was replaced by `NvidiaCompilers` in EasyBuild 5.2.0 (f1761f8)
which is an accidental breaking change.
Add it back with a deprecation notice making sure both are equal for now.
@Thyre Thyre added the bug fix label Jan 13, 2026
@Thyre Thyre added this to the next release (5.2.1?) milestone Jan 13, 2026
@boegel boegel changed the title Readd easybuild.toolchains.compiler.nvhpc Add back easybuild.toolchains.compiler.nvhpc Jan 14, 2026

COMPILER_MODULE_NAME = ['nvidia-compilers']
# TODO EasyBuild 6.0: Remove NVHPC name
COMPILER_MODULE_NAME = ['nvidia-compilers', 'NVHPC']
Copy link
Member

Choose a reason for hiding this comment

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

@Flamefire Hmmm, is this necessary?

Doesn't this mean that the NVHPC module must be available in order to use nvidia-compilers as compiler component in a toolchain?

cc @lexming

Copy link
Contributor Author

Choose a reason for hiding this comment

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

If I understand the code correctly it is an "either". Not fully sure though.

Copy link
Contributor

@lexming lexming Jan 19, 2026

Choose a reason for hiding this comment

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

indeed, this seems more of a convenience attribute in the Compiler class, with no defined purpose. Only real use in framework is to determine the compiler in optarch, which is compatible with this being a list of possible compilers and not all of them:

current_compiler_names = (getattr(self, 'COMPILER_MODULE_NAME', []) +

Copy link
Contributor

@lexming lexming left a comment

Choose a reason for hiding this comment

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

I suggest to put some order and more clear comments to the tests, we will forget this very fast.

Flamefire and others added 2 commits January 19, 2026 13:00
Co-authored-by: Alex Domingo <alex.domingo.toro@vub.be>
Copy link
Contributor

@lexming lexming left a comment

Choose a reason for hiding this comment

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

LGTM

@lexming
Copy link
Contributor

lexming commented Jan 19, 2026

Merging, thanks @Flamefire !

@lexming lexming merged commit eebe507 into easybuilders:develop Jan 19, 2026
40 checks passed
@Flamefire Flamefire deleted the nvhpc_compat branch January 19, 2026 15:03
@Thyre
Copy link
Collaborator

Thyre commented Jan 20, 2026

@lexming, @Flamefire this PR likely broke building software with nvidia-compilers:

== 2026-01-20 07:42:29,851 build_log.py:233 ERROR EasyBuild encountered an error: List of toolchain dependency modules and toolchain definition do not match (found ['GCCcore/14.2.0', 'binutils/2.42-GCCcore-14.2.0', 'numactl/2.0.19-GCCcore-14.2.0'] vs expected {'NVHPC'}) (at easybuild/easybuild-framework/easybuild/tools/toolchain/toolchain.py:793 in _verify_toolchain)

See easybuilders/easybuild-easyconfigs#23755 (comment)
Testing on jsc-zen3 with EasyBuild v5.2.0, the same PR works.

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