Migration to the 2020 standard environment
- 1 What are the differences between StdEnv/2020 and the earlier environments?
- 2 Can I change my default standard environment?
- 3 Do I need to reinstall/recompile my code when the StdEnv changes?
- 4 How can I use an earlier environment?
- 5 Will the earlier environments be removed?
- 6 Can I mix modules from different environments?
- 7 Which environment should I use?
- 8 Can I keep using an older environment by loading modules in my .bashrc?
- 9 I don't use the HPC clusters but cloud resources only. Do I need to worry about this?
- 10 I can no longer load a module that I previously used
What are the differences between StdEnv/2020 and the earlier environments?
The differences are discussed in Standard software environments.
Can I change my default standard environment?
Prior to April first 2021, our clusters used different
StdEnv versions as their default: Cedar and Graham used
StdEnv/2016.4, while Béluga used
StdEnv/2018.3. Niagara defaulted to
StdEnv/2018.3 when you ran
module load CCEnv StdEnv.
StdEnv/2020 is now 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
[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
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?
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
module load StdEnv/2016.4
to your job scripts before loading any other modules.
Will the earlier environments be removed?
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?
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?
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/2020 after April 1.
Can I keep using an older environment by loading modules in my
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?
I can no longer load a module that I previously used
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.
GNU Compiler Collection, an open source compiler collection