Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement better support for cmd line specified valid_systems #21

Open
smoors opened this issue Mar 10, 2023 · 3 comments
Open

implement better support for cmd line specified valid_systems #21

smoors opened this issue Mar 10, 2023 · 3 comments

Comments

@smoors
Copy link
Collaborator

smoors commented Mar 10, 2023

currently, if you specify valid_systems on the command line, no automatic filtering is done, so you have to do the filtering yourself.

the reason is that unfortunately, combining systemname:partitionname with features is not fully supported in the current version of ReFrame (4.0.5).

for example, this works (multiple list items behave like the OR operation):

valid_partitions = ['*:ampere', '+cpu']

but this does not (multiple string items behave like AND operation):

valid_partitions = ['*:ampere +cpu']

this is what ReFrame shows in this case:

WARNING: skipping test 'GROMACS_EESSI': type error: test-suite/eessi/reframe/eessi-checks/applications/gromacs_check.py:62: failed to set field 'valid_systems': '['*:ampere +gpu']' is not of type 'List[Str[r'^(((\*|(\w[-.\w]*))(:(\*|(\w[-.\w]*)))?)|(([+-](\w[-.\w]*))|(%(\w[-.\w]*)=\S+))(\s+(([+-](\w[-.\w]*))|(%(\w[-.\w]*)=\S+)))*)$']]'
                self.valid_systems = [valid_systems]

maybe it's possible check the features of the partitions that are specified on the cmd line, and filter the tests based on that

more info here: https://reframe-hpc.readthedocs.io/en/stable/regression_test_api.html#reframe.core.pipeline.RegressionTest.valid_systems

@smoors
Copy link
Collaborator Author

smoors commented Mar 10, 2023

i'll create an issue for this in ReFrame as well, maybe they can solve this.

@satishskamath
Copy link
Collaborator

[EESSI pilot 2021.06] $ reframe -C /home/satishk/projects/eessi_reframe/settings_example.py -c $eessihome/eessi-checks/applications/ -t CI -t singlen
ode -l --performance-report --setvar valid_systems=snellius_eessi:cpu
[ReFrame Setup]
  version:           4.0.1
  command:           '/sw/arch/RHEL8/EB_production/2022/software/ReFrame/4.0.1/bin/reframe -C /home/satishk/projects/eessi_reframe/settings_example.p
y -c /gpfs/home5/satishk/projects/test-suite/eessi/reframe/eessi-checks/applications/ -t CI -t singlenode -l --performance-report --setvar valid_syst
ems=snellius_eessi:cpu'
  launched by:       [email protected]
  working directory: '/gpfs/home5/satishk/projects/eessi_reframe'
  settings files:    '<builtin>', '/home/satishk/projects/eessi_reframe/settings_example.py'
  check search path: '/gpfs/home5/satishk/projects/test-suite/eessi/reframe/eessi-checks/applications'
  stage directory:   '/scratch-shared/satishk/reframe_output/staging'
  output directory:  '/gpfs/home5/satishk/projects/eessi_reframe/output'
  log files:         '/gpfs/home5/satishk/projects/eessi_reframe/reframe.log'

[List of matched checks]
- GROMACS_EESSI %benchmark_info=HECBioSim/hEGFRDimer %nb_impl=gpu %scale=('singlenode', 1) %module_name=GROMACS/2021.6-foss-2022a /ff91f18a
- GROMACS_EESSI %benchmark_info=HECBioSim/hEGFRDimer %nb_impl=gpu %scale=('singlenode', 1) %module_name=GROMACS/2021.6-foss-2022a-CUDA-11.7.0 /54be99
0c
- GROMACS_EESSI %benchmark_info=HECBioSim/hEGFRDimer %nb_impl=gpu %scale=('singlenode', 1) %module_name=GROMACS/2020.4-foss-2020a-Python-3.8.2 /0972b
423
- GROMACS_EESSI %benchmark_info=HECBioSim/hEGFRDimer %nb_impl=gpu %scale=('singlenode', 1) %module_name=GROMACS/2020.1-foss-2020a-Python-3.8.2 /b2862
df7
- GROMACS_EESSI %benchmark_info=HECBioSim/hEGFRDimer %nb_impl=cpu %scale=('singlenode', 1) %module_name=GROMACS/2021.6-foss-2022a /d12ed623
- GROMACS_EESSI %benchmark_info=HECBioSim/hEGFRDimer %nb_impl=cpu %scale=('singlenode', 1) %module_name=GROMACS/2021.6-foss-2022a-CUDA-11.7.0 /a6f0d1
0c
- GROMACS_EESSI %benchmark_info=HECBioSim/hEGFRDimer %nb_impl=cpu %scale=('singlenode', 1) %module_name=GROMACS/2020.4-foss-2020a-Python-3.8.2 /80c7f
af7
- GROMACS_EESSI %benchmark_info=HECBioSim/hEGFRDimer %nb_impl=cpu %scale=('singlenode', 1) %module_name=GROMACS/2020.1-foss-2020a-Python-3.8.2 /a4450
ec7
Found 8 check(s)

Log file(s) saved in '/gpfs/home5/satishk/projects/eessi_reframe/reframe.log'
[EESSI pilot 2021.06] $ 

Transferring the example that I checked, here.

@smoors
Copy link
Collaborator Author

smoors commented Mar 10, 2023

upstream issue: reframe-hpc/reframe#2820

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

No branches or pull requests

2 participants