Migration to the new standard environment: Difference between revisions

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


<translate>
<translate>
= What are the differences between the old and the new environments ? = <!--T:1-->
= What are the differences between <tt>StdEnv/2020</tt> and the earlier environments? = <!--T:1-->
These differences are listed on the page [[Standard software environments]].
The differences are discussed in [[Standard software environments]].


= How can I change which version of <code>StdEnv</code> is my default? = <!--T:2-->
= Can I change my default standard environment? = <!--T:2-->
Our clusters use different versions of <code>StdEnv</code> as their default version. As of August 2020, [[Cedar]] and [[Graham]] use <code>StdEnv/2016.4</code>, while [[Béluga/en|Béluga]] uses <code>StdEnv/2018.3</code>. [[Niagara]] also defaults to <code>StdEnv/2018.3</code> if 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>.  


<!--T:8-->
<!--T:8-->
On April 1st, 2021, all of them will start using <code>StdEnv/2020</code> as the default environment. However, users can specify their own default by running the following command (example provided for the 2020 version)  
On April 1, 2021, <code>StdEnv/2020</code> will be the default environment for all clusters. However, you can specify your own default environment by running the following command (example provided for version 2016.4):
{{Command|echo "module-version StdEnv/2020 default" >> $HOME/.modulerc}}
{{Command|echo "module-version StdEnv/2020 default" >> $HOME/.modulerc}}


= Do I need to reinstall/recompile my code if the <code>StdEnv</code> version changes? = <!--T:3-->
= Do I need to reinstall/recompile my code when the <code>StdEnv</code> changes? = <!--T:3-->
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.
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 the old environments ? = <!--T:4-->
= How can I use an earlier environment? = <!--T:4-->
If you have an existing workflow and want to continue to use the same software versions you are using now, simply add  
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/2018.3
or  
or  
   module load StdEnv/2016.4
   module load StdEnv/2016.4
to your job script before loading any other modules.   
to your job scripts before loading any other modules.   


= Will old environments go away ? = <!--T:5-->
= Will the earlier environments be removed? = <!--T:5-->
No, they ''will not go away''.  They and all the software dependent on them will remain availableHowever, Compute Canada staff will no longer install anything into the old environments.
The earlier environments and any software dependent on them will remain available. However, our staff will no longer install anything in the old environments.


= Which environment should I use ? = <!--T:6-->
= Which environment should I use ? = <!--T:6-->
If you are starting a new project, or if you want to use a newer version of some software, you should use <tt>StdEnv/2020</tt>. Today you can do this by adding  
If you are starting a new project, or if you want to use a newer version of an application, you should use <tt>StdEnv/2020</tt> by adding  
   module load StdEnv/2020
   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).
to your job scripts. This command does not need to be deleted to use <code>StdEnv</code> after April 1.


= Can I keep the old environment by loading modules in my <code>.bashrc</code> ? = <!--T:7-->
= Can I keep using the old environment by loading modules in my <code>.bashrc</code>? = <!--T:7-->
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.
</translate>
</translate>

Revision as of 20:41, 23 March 2021

Other languages:

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?

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 by running the following command (example provided for version 2016.4):

Question.png
[name@server ~]$ echo "module-version StdEnv/2020 default" >> $HOME/.modulerc

Do I need to reinstall/recompile my code when the StdEnv changes?

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

or

 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.

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

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