Skip to content

Add prgenv reframe feature to prgenv-nvfortran#243

Merged
bcumming merged 1 commit intomainfrom
prgenv-nvfortran-feature
Sep 5, 2025
Merged

Add prgenv reframe feature to prgenv-nvfortran#243
bcumming merged 1 commit intomainfrom
prgenv-nvfortran-feature

Conversation

@msimberg
Copy link
Collaborator

@msimberg msimberg commented Sep 3, 2025

The prgenv feature is used in cscs-reframe-tests for "generic" tests that don't need to be run for application-specific uenvs, but should be run for the base "programming environment"-like uenvs.

E.g. the CUDA samples test filters for the prgenv feature: https://github.com/eth-cscs/cscs-reframe-tests/blob/225f906d2bbab7273d29035a0b1d77c0bfd5d208/checks/prgenv/cuda/cuda_samples.py#L87.

Additionally, cscs-reframe-tests automatically adds the prgenv feature for uenvs whose name start with prgenv (https://github.com/eth-cscs/cscs-reframe-tests/blob/225f906d2bbab7273d29035a0b1d77c0bfd5d208/config/utilities/uenv.py#L134-L135), but this detection only works when declaring uenvs to be tested by name (UENV=prgenv-...) instead of by path (UENV=/path/to/squashfs).

The more reliable way of exposing the feature is to simply set it explicitly in reframe.yaml, as I've done here.

I'm also adding the prgenv feature to prgenv-gnu/25.6 in #224.

@msimberg msimberg requested a review from bcumming September 3, 2025 12:23
@msimberg msimberg mentioned this pull request Sep 3, 2025
@bcumming
Copy link
Member

bcumming commented Sep 3, 2025

Shouldn't we be running these tests on all uenv view that are used to compile codes.

For example, the CP2K uenv provides a view that exposes the dependencies required to build CP2K.

How about a feature flag that could be added to views that would opt them out of running generic tests?

@msimberg
Copy link
Collaborator Author

msimberg commented Sep 3, 2025

Note, for daily CI runs the prgenv feature will be correctly added because the runs are done by uenv name, not by path, so we don't necessarily need to redeploy this uenv.

@msimberg
Copy link
Collaborator Author

msimberg commented Sep 3, 2025

Shouldn't we be running these tests on all uenv view that are used to compile codes.

For example, the CP2K uenv provides a view that exposes the dependencies required to build CP2K.

How about a feature flag that could be added to views that would opt them out of running generic tests?

Possible. The prgenv feature is something that was added by the reframe team and I don't know if they considered this option.

Effectively the two options are the same though, right? One is a whitelist, the other a blacklist. Tests that should indeed run for all uenvs that can run a test should just not require the prgenv feature, so then the question would be if we should also remove the +prgenv requirement for the CUDA tests.

Edit: to explicitly answer:

For example, the CP2K uenv provides a view that exposes the dependencies required to build CP2K.

Maybe, but not necessarily. The cp2k-specific tests are the absolute must-haves for the cp2k uenv. If we then additionally run generic tests is up for discussion (best would be if one can easily choose either option, but I'm not aware of how to do that right now).

@bcumming bcumming merged commit b275f76 into main Sep 5, 2025
@bcumming bcumming deleted the prgenv-nvfortran-feature branch September 5, 2025 06:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants