Migration to the new standard environment: Difference between revisions
(Marked this version for translation) |
No edit summary |
||
Line 9: | Line 9: | ||
<!--T:8--> | <!--T:8--> | ||
On April 1, 2021, <code>StdEnv/2020</code> will be the default environment for all clusters. However, you can specify your own default environment at any time by modifying the | On April 1, 2021, <code>StdEnv/2020</code> will be the default environment for all clusters. However, you can specify your own default environment at any time by modifying the <code>$HOME/.modulerc</code> file. For example, running the following command will set your default environment to <code>StdEnv/2018.3</code>: | ||
{{Command|echo "module-version StdEnv/2018.3 default" >> $HOME/.modulerc}} | {{Command|echo "module-version StdEnv/2018.3 default" >> $HOME/.modulerc}} | ||
You must log out and log in again for this change to take effect. | You must log out and log in again for this change to take effect. | ||
Line 38: | Line 38: | ||
Loading modules in your <code>.bashrc</code> is '''not recommended'''. Instead, explicitly load modules in your job scripts. | Loading modules in your <code>.bashrc</code> is '''not recommended'''. Instead, explicitly load modules in your job scripts. | ||
= I' | = I don't use the HPC clusters but cloud resources only. Do I need to worry about this? = <!--T:10--> | ||
No, this change will only affect the [[Available software]] accessed by [[Using modules| using environment modules]]. | No, this change will only affect the [[Available software]] accessed by [[Using modules| using environment modules]]. | ||
= I can | = I can no longer load a module that I previously used = <!--T:11--> | ||
More recent versions of most applications are installed in the new environment. To see the available versions, run the <code>module avail</code> command. For example, | |||
{{Command|module avail gcc}} | {{Command|module avail gcc}} | ||
shows several versions of the GCC compilers, which may be different from those in earlier environments. | |||
</translate> | </translate> |
Revision as of 21:06, 26 March 2021
What are the differences between StdEnv/2020 and the earlier environments?[edit]
The differences are discussed in Standard software environments.
Can I change my default standard environment?[edit]
Our clusters currently use different StdEnv
versions as their default. Cedar and Graham use StdEnv/2016.4
, while Béluga uses StdEnv/2018.3
. Niagara defaults to StdEnv/2018.3
when you run module load CCEnv StdEnv
.
On April 1, 2021, StdEnv/2020
will be the default environment for all clusters. However, you can specify your own default environment at any time by modifying the $HOME/.modulerc
file. For example, running the following command will set your default environment to StdEnv/2018.3
:
[name@server ~]$ echo "module-version StdEnv/2018.3 default" >> $HOME/.modulerc
You must log out and log in again for this change to take effect.
Do I need to reinstall/recompile my code when the StdEnv
changes?[edit]
Yes. If you compile your own code, or have installed R or Python packages, you should recompile your code or reinstall the packages you need with the newest version of the standard environment.
How can I use an earlier environment?[edit]
If you have an existing workflow and want to continue to use the same software versions you are using now, simply add
module load StdEnv/2018.3
or
module load StdEnv/2016.4
to your job scripts before loading any other modules.
Will the earlier environments be removed?[edit]
The earlier environments and any software dependent on them will remain available. However, our staff will no longer install anything in the old environments.
Can I mix modules from different environments?[edit]
No, you should use a single environment for a given job - different jobs can use different standard environments by explicitly loading one or the other at the job's beginning but within a single job you should only use a single environment. The results of trying to mix different environments are unpredictable but in general will lead to errors of one kind or another.
Which environment should I use?[edit]
If you are starting a new project, or if you want to use a newer version of an application, you should use StdEnv/2020 by adding
module load StdEnv/2020
to your job scripts. This command does not need to be deleted to use StdEnv
after April 1.
Can I keep using the old environment by loading modules in my .bashrc
?[edit]
Loading modules in your .bashrc
is not recommended. Instead, explicitly load modules in your job scripts.
I don't use the HPC clusters but cloud resources only. Do I need to worry about this?[edit]
No, this change will only affect the Available software accessed by using environment modules.
I can no longer load a module that I previously used[edit]
More recent versions of most applications are installed in the new environment. To see the available versions, run the module avail
command. For example,
[name@server ~]$ module avail gcc
shows several versions of the GCC compilers, which may be different from those in earlier environments.