Migration to the new standard environment
What are the differences between the old and the new environments ?
These differences are listed on the page Standard software environments.
How can I change which version of StdEnv
is my default?
Our clusters use different versions of StdEnv
as their default version. As of August 2020, Cedar and Graham use StdEnv/2016.4
, while Béluga uses StdEnv/2018.3
. Niagara also defaults to StdEnv/2018.3
if you run module load CCEnv StdEnv
.
On April 1st, 2021, all of them will start using StdEnv/2020
as the default environment. However, users can specify their own default by running the following command (example provided for the 2020 version)
[name@server ~]$ echo "module-version StdEnv/2020 default" >> $HOME/.modulerc
Do I need to reinstall/recompile my code if the StdEnv
version changes?
Yes. If you compile your own code, or install R or Python packages, you should recompile or reinstall the packages you need using the newest version of the standard environment.
How can I use the old environments ?
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 script before loading any other modules.
Will old environments go away ?
No, they will not go away. They and all the software dependent on them will remain available! However, Compute Canada staff will no longer install anything into the old environemnts.
Which environment should I use ?
If you are starting a new project, or if you want to use a newer version of some software, you should use StdEnv/2020. Today you can do this by adding
module load StdEnv/2020
to your job script. As of April 1st, 2021, it will be the default and the line will be unnecessary (though not a problem).
Can I keep the old environment by loading modules in my .bashrc
?
Loading modules in your .bashrc
is not recommended. Instead, explicitly load modules in your job scripts.