-
Notifications
You must be signed in to change notification settings - Fork 30
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
Update existing Doc on how to use EESSI #317
base: main
Are you sure you want to change the base?
Conversation
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.
Looks good ... it feels a bit like one would have to know a bit about the system you're running on or read through several alternatives before you get going. Too many choices. Would be nice if one could just say eessi init
and the best option is chosen. Then if one wants more control one specifies options to this command (or uses one of the alternatives listed here).
It is perhaps even more complicated than this, as we haven't told them what to do if they are using a shell other than |
That's right. I wonder if - eventually - we can come up with a single command that works for most users. For now, it's ok to accept that such a single command doesn't exist yet and we provide information about all the alternatives. |
You can, but that will ultimately be a wrapper around Lmod (you're basically trying to reimplement the same thing that Unless such a command starts a subshell...which is possible. You could set |
Co-authored-by: Thomas Röblitz <[email protected]>
Co-authored-by: Thomas Röblitz <[email protected]>
Co-authored-by: Thomas Röblitz <[email protected]>
Co-authored-by: Thomas Röblitz <[email protected]>
Co-authored-by: Thomas Röblitz <[email protected]>
Co-authored-by: Thomas Röblitz <[email protected]>
Co-authored-by: Thomas Röblitz <[email protected]>
Co-authored-by: Thomas Röblitz <[email protected]>
Co-authored-by: Thomas Röblitz <[email protected]>
Co-authored-by: Thomas Röblitz <[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.
Couple of other suggestions
|
||
:clap: Your environment is now set up, you are ready to start running software provided by EESSI! | ||
|
||
3. Should Lmod be unavailable and `MODULEPATH` not utilized, you can initialise EESSI via an Lmod module by directly sourcing the Lmod initialisation script (this script automatically loads the EESSI module): |
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.
To keep things simple, we should probably start with this and then have a collapsed section for "Other scenarios" that mentions the two other approaches (and the note/warning about unsetting the MODULEPATH
). That way the two approaches are equivalent for typical use case.
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.
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.
3. Should Lmod be unavailable and `$MODULEPATH` not used, you can initialise EESSI via an Lmod module by directly sourcing the Lmod initialisation script (this script automatically loads the EESSI module):
3. Should Lmod be unavailable and `MODULEPATH` not utilized, you can initialise EESSI via an Lmod module by directly sourcing the Lmod initialisation script (this script automatically loads the EESSI module): | ||
|
||
``` { .bash .copy } | ||
source /cvmfs/software.eessi.io/versions/2023.06/init/lmod/bash |
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.
We should make it clear that there are a range of options available here
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.
or use $SHELL
instead of harcoding bash
?
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 checked yesterday and $SHELL
is not reliable for the supported shells, $0
is more reliable but not very visually helpful
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.
(or rather the even worse $(basename $0)
)
|
||
## Sourcing the EESSI `bash` initialisation script | ||
|
||
You can initialise EESSI (in a non-reversible way) by running the command: |
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 think it is worth explicitly saying that this command only works with bash, and if you use another shell you should take the other approach.
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.
- how to check (
echo $SHELL
)
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
|
||
!!! note "Why do we recommend to unset `MODULEPATH`?" | ||
|
||
Unsetting MODULEPATH may not be possible at some sites, and some compromise or workaround may |
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.
Unsetting MODULEPATH may not be possible at some sites, and some compromise or workaround may | |
Unsetting the `$MODULEPATH` environment variable, which tells Lmod in which directories environment module files are available, may not be possible at some sites, and some compromise or workaround may |
|
||
Unsetting MODULEPATH may not be possible at some sites, and some compromise or workaround may | ||
be necessary. The underlying reason to suggest this is that EESSI and your system are most likely based on | ||
two different operating system distributions - EESSI uses Gentoo Prefix, your system almost certainly uses some other |
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 wouldn't mention Gentoo Prefix here, keep it more general (compatibility layer + link to the corresponding page)
Unsetting MODULEPATH may not be possible at some sites, and some compromise or workaround may | ||
be necessary. The underlying reason to suggest this is that EESSI and your system are most likely based on | ||
two different operating system distributions - EESSI uses Gentoo Prefix, your system almost certainly uses some other | ||
distribution. If you can find a way to ensure that the _software stacks_ from your site and EESSI do not mix |
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.
distribution
-> Linux distribution
|
||
1. You are already using Lmod with version >= 8.6 | ||
|
||
In this case, we _recommend_ unsetting the `MODULEPATH`, because EESSI is not designed to mix modules coming from EESSI and from your 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.
In this case, we _recommend_ unsetting `$MODULEPATH`, because EESSI is not designed to mix modules coming from EESSI and from your system.
unset MODULEPATH | ||
export MODULEPATH=/cvmfs/software.eessi.io/init/modules |
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.
If you're doing a hard set, then there's no need to unset
?
|
||
2. You are using an Lmod with a version older than 8.6 or any other tool utilizing `MODULEPATH` (Tmod, etc.) | ||
|
||
You should unset MODULEPATH to prevent Lmod from attempting to build a cache for your module tree (as this can be very slow if you have |
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 should unset MODULEPATH to prevent Lmod from attempting to build a cache for your module tree (as this can be very slow if you have | |
You should unset `$MODULEPATH` to prevent Lmod from attempting to build a cache for your module tree (as this can be very slow if you have |
2. You are using an Lmod with a version older than 8.6 or any other tool utilizing `MODULEPATH` (Tmod, etc.) | ||
|
||
You should unset MODULEPATH to prevent Lmod from attempting to build a cache for your module tree (as this can be very slow if you have | ||
a lot of modules). Again, unsetting the MODULEPATH should be considered as a good idea in general so you do not mix local and EESSI |
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.
a lot of modules). Again, unsetting the MODULEPATH should be considered as a good idea in general so you do not mix local and EESSI | |
a lot of modules). Again, unsetting the `$MODULEPATH` should be considered as a good idea in general so you do not mix local and EESSI |
|
||
:clap: Your environment is now set up, you are ready to start running software provided by EESSI! | ||
|
||
3. Should Lmod be unavailable and `MODULEPATH` not utilized, you can initialise EESSI via an Lmod module by directly sourcing the Lmod initialisation script (this script automatically loads the EESSI module): |
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.
3. Should Lmod be unavailable and `$MODULEPATH` not used, you can initialise EESSI via an Lmod module by directly sourcing the Lmod initialisation script (this script automatically loads the EESSI module):
3. Should Lmod be unavailable and `MODULEPATH` not utilized, you can initialise EESSI via an Lmod module by directly sourcing the Lmod initialisation script (this script automatically loads the EESSI module): | ||
|
||
``` { .bash .copy } | ||
source /cvmfs/software.eessi.io/versions/2023.06/init/lmod/bash |
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.
or use $SHELL
instead of harcoding bash
?
|
||
## Sourcing the EESSI `bash` initialisation script | ||
|
||
You can initialise EESSI (in a non-reversible way) by running the command: |
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.
- how to check (
echo $SHELL
)
Updating
setting_up_environment.md
in EESSI docs by adding EESSI module usage