Migration to the 2020 standard environment

From CC Doc
Jump to navigation Jump to search
Other languages:
English • ‎français

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]

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 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


 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/2020 after April 1.

Can I keep using an older 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.