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 2: Line 2:
|- style="background:#eee;"
|- style="background:#eee;"
! rowspan=2 colspan=2 | You have files
! rowspan=2 colspan=2 | You have files
! rowspan=2 | Remark
! colspan=2 | CentOS-5 uses
! colspan=2 | CentOS-5 uses
! colspan=2 | CentOS-6 uses
! colspan=2 | CentOS-6 uses
Line 7: Line 8:
! names !! files !! names !! files
! names !! files !! names !! files
|-
|-
| – || – || style="background:#fdd;" | old || style="background:#fdd;" | .bashrc only || style="background:#dfd;" rowspan=4 | new || style="background:#dfd;" | .bashrc only
| – || – || current situation || style="background:#fdd;" | old || style="background:#fdd;" | .bashrc only || style="background:#dfd;" rowspan=4 | new || style="background:#dfd;" | .bashrc only
|-                         
|-                         
| .modules-carbon-1 || – || style="background:#fdd;" | old || style="background:#fdd;" | .modules-carbon-1 and .bashrc || style="background:#dfd;" | .bashrc only (.*-1 file is ignored)
| .modules-carbon-1 || – || ''avoid'' || style="background:#fdd;" | old || style="background:#fdd;" | .modules-carbon-1 and .bashrc || style="background:#dfd;" | .bashrc only (.*-1 file is ignored)
|-                         
|-                         
| – || .modules-carbon-2 || style="background:#dfd;" | new || style="background:#dfd;" | .modules-carbon-'''2''' and .bashrc || style="background:#dfd;" | .modules-carbon-2 and .bashrc
| – || .modules-carbon-2 || switch over, ''recommended'' || style="background:#dfd;" | new || style="background:#dfd;" | .modules-carbon-'''2''' and .bashrc || style="background:#dfd;" | .modules-carbon-2 and .bashrc
|-                         
|-                         
| .modules-carbon-1 || .modules-carbon-2 || style="background:#fdd;" | old || style="background:#fdd;" | .modules-carbon-1 and .bashrc || style="background:#dfd;" | .modules-carbon-2 and .bashrc
| .modules-carbon-1 || .modules-carbon-2 || for advanced cases || style="background:#fdd;" | old || style="background:#fdd;" | .modules-carbon-1 and .bashrc || style="background:#dfd;" | .modules-carbon-2 and .bashrc
|}
|}
=== Recommendation ===
Switch over to hierarchical names on all platforms.
# Create a customization file for new names, but leave it empty. Use the command: <source lang="bash">touch ~/.modules-carbon-2</source>
# Edit your <code>.bashrc</code> file and update your module selection.
#* For module names of the form ''name/version'', remove the version numbers. This will yield the current default version.
#* Run the command <code>module avail ''name''</code>, and append to the names you use the MPI, compiler and versions as needed.
#* If you get errors of the form<code>… ERROR:151: '''Module''' 'troubled_name' '''depends on one of the module(s)''' 'other_name1 other_name2' …</code>, add <code>module load …</code> commands for the needed module(s) ''other_names'' before loading "troubled_name".

Revision as of 17:02, August 10, 2015

You have files Remark CentOS-5 uses CentOS-6 uses
names files names files
current situation old .bashrc only new .bashrc only
.modules-carbon-1 avoid old .modules-carbon-1 and .bashrc .bashrc only (.*-1 file is ignored)
.modules-carbon-2 switch over, recommended new .modules-carbon-2 and .bashrc .modules-carbon-2 and .bashrc
.modules-carbon-1 .modules-carbon-2 for advanced cases old .modules-carbon-1 and .bashrc .modules-carbon-2 and .bashrc

Recommendation

Switch over to hierarchical names on all platforms.

  1. Create a customization file for new names, but leave it empty. Use the command:
    touch ~/.modules-carbon-2
    
  2. Edit your .bashrc file and update your module selection.
    • For module names of the form name/version, remove the version numbers. This will yield the current default version.
    • Run the command module avail name, and append to the names you use the MPI, compiler and versions as needed.
    • If you get errors of the form… ERROR:151: Module 'troubled_name' depends on one of the module(s) 'other_name1 other_name2' …, add module load … commands for the needed module(s) other_names before loading "troubled_name".