Migration to the new standard environment: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Marked this version for translation)
No edit summary
Line 40: Line 40:
= I'm not using the HPC-clusters but only the Compute Canada Cloud. Do I need to worry about this? = <!--T:10-->
= 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]].
= I can not load module <code>something/version</code> =
With the new environment, we installed more recent versions of most software packages. Please use the <code>module avail</code> command to find corresponding upgraded versions. For example:
{{Command|module avail gcc}}
will show you that we have multiple versions of the GCC compilers, although not necessarily the exact same versions.
</translate>
</translate>

Revision as of 18:06, 25 March 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.

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

Can I keep using the old 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'm not using the HPC-clusters but only the Compute Canada Cloud. Do I need to worry about this?[edit]

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

I can not load module something/version[edit]

With the new environment, we installed more recent versions of most software packages. Please use the module avail command to find corresponding upgraded versions. For example:

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

will show you that we have multiple versions of the GCC compilers, although not necessarily the exact same versions.