HPC/Module naming scheme 2016: Difference between revisions

From CNM Wiki
< HPC
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 9: Line 9:
! module names !! files !! module names !! files
! module names !! files !! module names !! files
|-
|-
| – || – || style="color:#888;" | Current situation || style="background:#ffd;" | old || style="background:#ffd;" | .bashrc only || style="background:#ddf;" rowspan=4 | new || style="background:#ddf;" | .bashrc only
| – || – || style="color:#888;" | Current situation || style="background:#ffd;" | old || style="background:#ffd;" | .bashrc only || style="background:#ddf;" rowspan=4 | new || style="background:#ddf;" | .bashrc only
|-
|-
| – || .modules-carbon-6 || style="color:#888;" | Switch over, ''recommended'' || style="background:#ddf;" | new || style="background:#ddf;" | .modules-carbon-'''6''' and .bashrc || style="background:#ddf;" | .modules-carbon-6 and .bashrc
| – || .modules-el6 || style="color:#888;" | Switch over, ''recommended'' || style="background:#ddf;" | new || style="background:#ddf;" | .modules-el'''6''' and .bashrc || style="background:#ddf;" | .modules-el6 and .bashrc
|-
|-
| .modules-carbon-5 || – || style="color:#888;" | ''Avoid!'' || style="background:#ffd;" | old || style="background:#ffd;" | .modules-carbon-5 and .bashrc || style="background:#ddf;" | .bashrc only (.*-5 file is ignored)
| .modules-el5 || – || style="color:#888;" | ''Avoid!'' || style="background:#ffd;" | old || style="background:#ffd;" | .modules-el5 and .bashrc || style="background:#ddf;" | .bashrc only (.*el5 file is ignored)
|-
|-
| .modules-carbon-5 || .modules-carbon-6 || style="color:#888;" | For advanced users || style="background:#ffd;" | old || style="background:#ffd;" | .modules-carbon-5 and .bashrc || style="background:#ddf;" | .modules-carbon-6 and .bashrc
| .modules-el5 || .modules-el6 || style="color:#888;" | For advanced users || style="background:#ffd;" | old || style="background:#ffd;" | .modules-el5 and .bashrc || style="background:#ddf;" | .modules-el6 and .bashrc
|}
|}


Line 22: Line 22:
To switch over to new hierarchical module names on both CentOS releases it's easiest to continue making all your module choices in <code>~/.bashrc</code>, but you have to signal on the older platform to use the new module style:
To switch over to new hierarchical module names on both CentOS releases it's easiest to continue making all your module choices in <code>~/.bashrc</code>, but you have to signal on the older platform to use the new module style:


# Create a customization file for new names, but leave it empty (you'll configure your choices in the next step). Use the command: <source lang="bash">touch ~/.modules-carbon-6</source>
# Create a customization file for new names, but leave it empty (you'll configure your choices in the next step). Use the command: <source lang="bash">touch ~/.modules-el6</source>
# Edit your <code>.bashrc</code> file and update your module selections as follows:
# Edit your <code>.bashrc</code> file and update your module selections as follows:
#* Remove version numbers from module names of the old-style <code>''packagename/version''</code>, leaving only <code>''packagename''</code>. This is the recommended approach, as you will automatically benefit from future versions.
#* Remove version numbers from module names of the old-style <code>''packagename/version''</code>, leaving only <code>''packagename''</code>. This is the recommended approach, as you will automatically benefit from future versions.
Line 29: Line 29:
=== CentOS-dependent module selection ===
=== CentOS-dependent module selection ===
If you encounter difficulties with making your module selection work in both CentOS-5 and CentOS-6, use separate configurations:
If you encounter difficulties with making your module selection work in both CentOS-5 and CentOS-6, use separate configurations:
# Move all your previous module commands from <code>.bashrc</code> to <code>~/.modules-carbon-5</code>, where they will apply only on CentOS-5.
# Move all your previous module commands from <code>.bashrc</code> to <code>~/.modules-el5</code>, where they will apply only on CentOS-5.
# Place all your module selections for CentOS-6 in <code>~/.modules-carbon-6</code>. Get started using the contents of the .*-5 version.
# Place all your module selections for CentOS-6 in <code>~/.modules-el6</code>. Get started using the contents of the .*-el5 version.

Revision as of 01:56, August 29, 2015

Configuration files used

You have files:
.bashrc and …
Remark CentOS-5 uses CentOS-6 uses
module names files module names files
Current situation old .bashrc only new .bashrc only
.modules-el6 Switch over, recommended new .modules-el6 and .bashrc .modules-el6 and .bashrc
.modules-el5 Avoid! old .modules-el5 and .bashrc .bashrc only (.*el5 file is ignored)
.modules-el5 .modules-el6 For advanced users old .modules-el5 and .bashrc .modules-el6 and .bashrc

Configuration steps

CentOS-independent module selection (recommended)

To switch over to new hierarchical module names on both CentOS releases it's easiest to continue making all your module choices in ~/.bashrc, but you have to signal on the older platform to use the new module style:

  1. Create a customization file for new names, but leave it empty (you'll configure your choices in the next step). Use the command:
    touch ~/.modules-el6
    
  2. Edit your .bashrc file and update your module selections as follows:
    • Remove version numbers from module names of the old-style packagename/version, leaving only packagename. This is the recommended approach, as you will automatically benefit from future versions.
    • To insist on a specific version for a pacakge affected by the new-style names, use the form packagename/compilername/version or packagename/mpiname/compilername/version as appropriate. To see available flavors and versions, separately run the command module avail packagename.

CentOS-dependent module selection

If you encounter difficulties with making your module selection work in both CentOS-5 and CentOS-6, use separate configurations:

  1. Move all your previous module commands from .bashrc to ~/.modules-el5, where they will apply only on CentOS-5.
  2. Place all your module selections for CentOS-6 in ~/.modules-el6. Get started using the contents of the .*-el5 version.