Migration to the new standard environment: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
No edit summary
No edit summary
Line 6: Line 6:


= Can I change my default standard environment? = <!--T:2-->
= Can I change my default standard environment? = <!--T:2-->
Our clusters currently use different <code>StdEnv</code> versions as their default. [[Cedar]] and [[Graham]] use <code>StdEnv/2016.4</code>, while [[Béluga/en|Béluga]] uses <code>StdEnv/2018.3</code>. [[Niagara]] defaults to <code>StdEnv/2018.3</code> when you run <code>module load CCEnv StdEnv</code>.  
Our clusters currently use different <code>StdEnv</code> versions as their default. [[Cedar]] and [[Graham]] use <code>StdEnv/2016.4</code>, while [[Béluga/en|Béluga]] uses <code>StdEnv/2018.3</code>. [[Niagara]] defaults to <code>StdEnv/2018.3</code> when you run <code>module load CCEnv StdEnv</code>. <br>
 
<br>
<!--T:8-->
As of April 1, 2021, <code>StdEnv/2020</code> is 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>:
As of April 1, 2021, <code>StdEnv/2020</code> is 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}}

Revision as of 19:58, 1 April 2021

Other languages:

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.

As of April 1, 2021, StdEnv/2020 is 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:

Question.png
[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/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,

Question.png
[name@server ~]$ module avail gcc

shows several versions of the GCC compilers, which may be different from those in earlier environments.