-
Notifications
You must be signed in to change notification settings - Fork 117
[test] ReFrame checks on Pilatus #1839
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
Conversation
|
Hello @lucamar, Thank you for updating!
Do see the ReFrame Coding Style Guide Comment last updated at 2021-03-17 12:06:13 UTC |
| self.valid_systems += ['eiger:mc', 'pilatus:mc'] | ||
|
|
||
| # PrgEnv-intel on Pilatus does not feature cray-hdf5 as of PE 21.02 | ||
| if self.current_system.name == 'pilatus': |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and eiger ? and PrgEnv-intel ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The exception is only for Pilatus since at present PrgEnv-intel does not feature cray-hdf5 in PE 21.02.
There is no PrgEnv-intel on Eiger at the moment, so this is not defined in the config.py for the system.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can check yourself that the intel compiler is missing in the output of the command module spider cray-hdf5/1.12.0.3:
uan04:~$ module spider cray-hdf5/1.12.0.3
----------------------------------------------------------------------------------------------------------------------------------
cray-hdf5: cray-hdf5/1.12.0.3
----------------------------------------------------------------------------------------------------------------------------------
You will need to load all module(s) on any one of the lines below before the "cray-hdf5/1.12.0.3" module is available to load.
aocc/2.2.0.1
cce/10.0.4
cce/11.0.0
cce/11.0.1
cce/11.0.2
cce/11.0.3
gcc/10.1.0
gcc/10.2.0
gcc/9.3.0
|
Note: |
| 'PrgEnv-intel', 'PrgEnv-gnu', 'PrgEnv-pgi', | ||
| self.valid_prog_environs = ['PrgEnv-aocc', 'PrgEnv-cray', | ||
| 'PrgEnv-cray_classic', 'PrgEnv-gnu', | ||
| 'PrgEnv-intel', 'PrgEnv-pgi', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The goal of this check is to test default PrgEnv-xxx but I believe it may fail on eiger/pilatus:
Our config is:
'name': 'PrgEnv-gnu',
'target_systems': [
'eiger', 'pilatus'
],
'modules': [
{'name': 'PrgEnv-gnu', 'collection': True}
As module restore PrgEnv-xxx loads PE from ~/.lmod.d/PrgEnv-xxx
and because $HOME is shared, the collection [may] differ hence restore will fail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the moment the collections work on Eiger and Pilatus, with the exception of PrgEnv-intel only (failing on Pilatus).
Since module collections for PrgEnv-xxx modules will be dropped by Cray as of PE 21.04, it won't be an issue.
Anyway, Lmod provides the environment variable $LMOD_SYSTEM_NAME that can be uniquely defined for each system to avoid conflicts: see https://lmod.readthedocs.io/en/latest/010_user.html#user-collections-on-shared-home-file-systems
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu', 'PrgEnv-pgi', | ||
| 'PrgEnv-intel', 'PrgEnv-aocc'] | ||
| 'eiger:mc', 'pilatus:mc'] | ||
| self.valid_prog_environs = ['PrgEnv-aocc', 'PrgEnv-cray', 'PrgEnv-gnu', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
self.valid_prog_environs = ['PrgEnv-aocc', 'PrgEnv-cray', 'PrgEnv-gnu',
'PrgEnv-intel', 'PrgEnv-pgi',
'cpeAMD', 'cpeCray', 'cpeGNU', 'cpeIntel'
]
|
I have reviewed the checks where I am maintainer, lgtm. |
Codecov Report
@@ Coverage Diff @@
## master #1839 +/- ##
==========================================
+ Coverage 87.61% 87.83% +0.21%
==========================================
Files 49 49
Lines 8141 8395 +254
==========================================
+ Hits 7133 7374 +241
- Misses 1008 1021 +13
Continue to review full report at Codecov.
|
| self.variables = { | ||
| 'OMP_NUM_THREADS': str(self.num_cpus_per_task) | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
line 117: this PrgEnf-pgi looks like a typo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
line 31: you may want to remove PrgEnv-cray_classicas it is no longer part of config/cscs.py
|
I'm closing since this pull request is now outdated and replaced by #1950. |
I have updated the checks defined on Eiger to run on Pilatus as well, please note the following:
NCO_CDOModuleCompatibilityTest, since noCDOis available at present on Pilatus, due to a Cray bug to be solved in PE 21.04affinity_check.py, could you please adapt it to Pilatus in a separate pull request @jjotero?PrgEnv-intelchecks (e.g.:HelloWorld), including the affinity checks provided byaffinity_check.py(merged by [test] Adjust affinity tests to new Slurm config on Eiger #1834 before Pilatus was added to the CI):It seems like the collection
PrgEnv-Intelcannot be restored correctly, so the check fails afterwards.