HPC/Module naming scheme 2016: Difference between revisions

From CNM Wiki
< HPC
Jump to navigation Jump to search
mNo edit summary
Line 7: Line 7:
! colspan=2 | CentOS-6 uses:
! colspan=2 | CentOS-6 uses:
|-
|-
! module names !! files !! module names !! files
! files
! module names
! files
! module names
|-
|-
| – || – || style="color:#888; text-align: left;" | Starting situation. || style="background:#ffd;" | old || style="background:#ffd;" | .bashrc only || style="background:#ddf;" rowspan=4 | new || style="background:#ddf;" | .bashrc only
| – || – || style="color:#888; text-align: left;" | Starting situation. || style="background:#ffd;" | .bashrc only || style="background:#ffd;" | old || style="background:#ddf;" | .bashrc only || style="background:#ddf;" rowspan=4 | new
|-
|-
| – || .modules-2 || style="color:#888; text-align: left;" | Switch over, ''recommended.'' || style="background:#ddf;" | new || style="background:#ddf;" | .modules-'''2''' and .bashrc || style="background:#ddf;" | .modules-2 and .bashrc
| – || .modules-2 || style="color:#888; text-align: left;" | Switch over, ''recommended.'' || style="background:#ddf;" | .modules-'''2''' and .bashrc || style="background:#ddf;" | new || style="background:#ddf;" | .modules-2 and .bashrc
|-
|-
| .modules-1 || – || style="color:#888; text-align: left;" | Only recommended during transition. || style="background:#ffd;" | old || style="background:#ffd;" | .modules-1 and .bashrc || style="background:#ddf;" | .bashrc only
| .modules-1 || – || style="color:#888; text-align: left;" | Only recommended during transition. || style="background:#ffd;" | .modules-1 and .bashrc || style="background:#ffd;" | old || style="background:#ddf;" | .bashrc only        
|-
|-
| .modules-1 || .modules-2 || style="color:#888; text-align: left;" | For advanced users. || style="background:#ffd;" | old || style="background:#ffd;" | .modules-1 and .bashrc || style="background:#ddf;" | .modules-2 and .bashrc
| .modules-1 || .modules-2 || style="color:#888; text-align: left;" | For advanced users. || style="background:#ffd;" | .modules-1 and .bashrc || style="background:#ffd;" | old || style="background:#ddf;" | .modules-2 and .bashrc
|}
|}



Revision as of 15:18, February 5, 2016

Configuration files used

You have files:
.bashrc and …
Remark CentOS-5 uses: CentOS-6 uses:
files module names files module names
Starting situation. .bashrc only old .bashrc only new
.modules-2 Switch over, recommended. .modules-2 and .bashrc new .modules-2 and .bashrc
.modules-1 Only recommended during transition. .modules-1 and .bashrc old .bashrc only
.modules-1 .modules-2 For advanced users. .modules-1 and .bashrc old .modules-2 and .bashrc

New-style module names

You may need to adapt module names you use in your files to new, more hierarchical, names.

General name change rules

  • To use the latest or automatically selected version of a package, remove version numbers from old-style module names of the formpackagename/version, leaving only packagename. This is the recommended approach, as you will automatically benefit from future updates and maintenance builds.
  • To insist on a specific version for a package in new style names:
    • Inspect the available flavors and versions (some older modules were not migrated):
      module avail packagename.
    • Choose the new-style name up to the desired specificity. You may leave out trailing name or directory parts.
      For instance, instead of vasp5/5.3/openmpi-1.4/intel/5.3.3p3-mkl-3 you may write vasp5/5.3/openmpi-1.4 or vasp5/5.3, letting the system choose the versions for MPI and compiler that are chosen as defaults at a given time.

Renamed modules

OLD		NEW
-------------------------------------
asap3		asap/3

ase2		ase/2
ase3		ase/3

g09		gaussian/09
GaussView	gaussview

Customizing module selection by OS release

Configure in .bashrc

To switch over to new-style module names on both CentOS releases you could continue making all your module choices in ~/.bashrc.

  • Tell CentOS-5 nodes to offer the new-style module catalog instead of the old one. To do so, simply create an empty customization file:
touch ~/.modules-2
  • Then, apply the changes shown in the #Rules section:
vi .bashrc
# or:
nano .bashrc
Use a text editor of your choice, such as nano or vi.

Configure in dedicated files

It is perhaps cleaner to perform the module selection in files dedicated for each CentOS release, so that you can better address possible incompatibilities. To migrate your existing configuration:

  • Move your previous module selections into a conspicuously named but otherwise unused file, e.g., .modules-1.inactive.
cd      # Go to home directory
grep -A 1  module .bashrc > .modules-1.inactive
  • Duplicate the file.
cp .modules-1.inactive .modules-2
  • Adapt contents to new module names, just as shown for .bashrc in the previous section. Clean up errant lines that the grep above might have included.
vi .modules-2
# or:
nano .modules-2
Apply the changes shown in the #Rules section.
  • Edit ~/.bashrc and remove all lines with module commands.
vi .bashrc
  • Test.
bash -l     # open a sub-shell (option is lowercase L)
module list
exit        # leave the sub-shell

Differentiate module selection by OS release

If you encounter difficulties with making your module selection work simultaneously for CentOS-5 and CentOS-6, use separate configurations instead.

  • Re-activate the older module selection.
cd      # Go to home directory
mv .modules-1.inactive .modules-1
  • Clean up errant lines:
vi .modules-1
# or:
nano .modules-1