Migration to the new standard environment: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(add question on Cloud)
(Marked this version for translation)
Line 26: Line 26:
The earlier environments and any software dependent on them will remain available. However, our staff will no longer install anything in 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.


= Can I mix modules from different environments? = <!--T:9-->
= Can I mix modules from different environments? = <!--T:9-->
No, you should use a single environment for a given job - different jobs can use different standard environments by explicitly  
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.  
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.  
Line 38: Line 38:
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.


= I'm not using the HPC-clusters but only the Compute Canada Cloud. Do I need to worry about this? =
= I'm not using the HPC-clusters but only the Compute Canada Cloud. Do I need to worry about this? = <!--T:10-->
No, this change will only affect the [[Available software]] accessed by [[Using modules| using environment modules]].
No, this change will only affect the [[Available software]] accessed by [[Using modules| using environment modules]].
</translate>
</translate>

Revision as of 22:16, 24 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 at any time by modifying the file $HOME/.modulerc. 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?

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.

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

I'm not using the HPC-clusters but only the Compute Canada Cloud. Do I need to worry about this?

No, this change will only affect the Available software accessed by using environment modules.