-
Notifications
You must be signed in to change notification settings - Fork 11
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
General config and run_reframe.sh
for local and EESSI stack
#200
Conversation
if [ $USE_EESSI_SOFTWARE_STACK == "True" ]; then | ||
eessi_init_path="${EESSI_CVMFS_REPO}"/versions/"${EESSI_VERSION}"/init/bash | ||
source "${eessi_init_path}" | ||
fi | ||
|
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.
Should we have an alternative to load a local module environment? Might not be needed on your systems. On our system we'd have to load a meta-module (e.g. 2023
, or 2024
) to make a software environment available.
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.
On our system we have sticky module environments per partition/cluster. So right now I do that in the wrapper of the tun_reframe_wrapper.sh. But I can look into moving that to the hortense_local_ss/ci_config.sh
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.
What could work is that we add something like LOCAL_CI_MODULE_ENV=2024
and in our case LOCAL_CI_MODULE_ENV=cpu_rome_256gb
. Now I'm also hardcoding that because the fix in ReFrame is not part of a release yet. I'll add that now now and than you can see if it works.
if [ -z "${EESSI_VERSION}" ]; then | ||
export EESSI_VERSION=2023.06 | ||
if [ -z "${USE_EESSI_SOFTWARE_STACK}" ] | [ $USE_EESSI_SOFTWARE_STACK == "True" ]; then | ||
export USE_EESSI_SOFTWARE_STACK=True |
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.
It would be good to print some more of these variables in the section that also prints reframe config etc. Makes things easier to debug.
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.
I've now added these two
echo "Using EESSI: ${USE_EESSI_SOFTWARE_STACK}"
echo "MODULEPATH: ${MODULEPATH}"
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.
Some changes are needed to the run_reframe.sh
to make things work on surf_snellius
. I'll leave testing/reviewing the hortense-specific stuff to @smoors
Co-authored-by: Caspar van Leeuwen <[email protected]>
Co-authored-by: Caspar van Leeuwen <[email protected]>
Co-authored-by: Caspar van Leeuwen <[email protected]>
…te into update_CI_scripts
Tested and working for local software stack is not gonna work for the EESSI software stack because it won't find the mympirun laucher when testing the EESSI modules. On tier-2 where the CI is already running I have two seperate configs because of this but maybe their is also another way? |
The solution for this is actually in this pr. Completely forgot I did this. |
config/vsc_hortense.py
Outdated
'launcher': 'mympirun', | ||
'modules': ['vsc-mympirun'], | ||
'launcher': launcher, | ||
'modules': [mpi_module, env_module % {'partition': "cpu_rome"}], |
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.
I'm not sure if I also need this in the job environment. loading these in run_reframe.sh is probably all I need. Gonna test that on our tier2 because I have not seen this cause trouble on hortense.
@casparvl ready for another review |
@smoors Feel free to test it yourself on Hortense. It is not gonna pick up the new config but you can set Testing I set the following environment variables when testing on my account:
Local
|
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.
using the EESSI modules is works fine, but with the local modules i get the error below, which can be fixed by using the .format()
method (see my suggestions)
File "/data/brussel/100/vsc10009/reframe/eessitestsuite/test-suite/config/vsc_hortense.py", line 71, in <module>
'modules': [mpi_module % 'cpu_rome'],
TypeError: not all arguments converted during string formatting
Co-authored-by: Sam Moors <[email protected]>
Co-authored-by: Sam Moors <[email protected]>
Co-authored-by: Sam Moors <[email protected]>
Co-authored-by: Sam Moors <[email protected]>
Co-authored-by: Sam Moors <[email protected]>
Co-authored-by: Sam Moors <[email protected]>
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.
lgtm
The updates to the
run_reframe.sh
scripts as they will pickup the default enviroment which does:unset MODULEPATH
and sets EESSI enviroment