HPC/Module naming scheme 2016: Difference between revisions
< HPC
Jump to navigation
Jump to search
mNo edit summary |
|||
Line 18: | Line 18: | ||
|} | |} | ||
== | == New-style module names == | ||
You may need to adapt module names you use in your files to new, more hierarchical, names. | |||
<!-- for <code>module load ''name''</code> commands --> | |||
=== 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 form<code>''packagename/version''</code>, leaving only <code>''packagename''</code>. This is the recommended approach, as you will automatically benefit from future updates and maintenance builds. | * To use the latest or automatically selected version of a package, remove version numbers from old-style module names of the form<code>''packagename/version''</code>, leaving only <code>''packagename''</code>. 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: | * To insist on a specific version for a package in new style names: | ||
Line 27: | Line 29: | ||
** Choose the new-style name up to the desired specificity. You may leave out trailing name or directory parts. | ** Choose the new-style name up to the desired specificity. You may leave out trailing name or directory parts. | ||
**: For instance, instead of <code>vasp5/openmpi-1.4/intel/5.3.3p3-mkl-3</code> write <code>vasp5/openmpi-1.4</code> | **: For instance, instead of <code>vasp5/openmpi-1.4/intel/5.3.3p3-mkl-3</code> write <code>vasp5/openmpi-1.4</code> | ||
=== Renamed modules === | |||
<source lang="bash"> | |||
OLD NEW | |||
------------------------------------- | |||
g03 gaussian/03 | |||
g09 gaussian/09 | |||
GaussView gaussview | |||
</source> | |||
=== Configure in .bashrc === | === Configure in .bashrc === |
Revision as of 22:22, December 2, 2015
Configuration files used
You have files: .bashrc and … |
Remark | CentOS-5 uses: | CentOS-6 uses: | |||
---|---|---|---|---|---|---|
module names | files | module names | files | |||
– | – | Starting situation. | old | .bashrc only | new | .bashrc only |
– | .modules-el6 | Switch over, recommended. | new | .modules-el6 and .bashrc | .modules-el6 and .bashrc | |
.modules-el5 | – | Avoid! – file ignored on EL6. | old | .modules-el5 and .bashrc | .bashrc only | |
.modules-el5 | .modules-el6 | For advanced users. | old | .modules-el5 and .bashrc | .modules-el6 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 form
packagename/version
, leaving onlypackagename
. 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/openmpi-1.4/intel/5.3.3p3-mkl-3
writevasp5/openmpi-1.4
- For instance, instead of
- Inspect the available flavors and versions (some older modules were not migrated):
Renamed modules
OLD NEW
-------------------------------------
g03 gaussian/03
g09 gaussian/09
GaussView gaussview
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
.
vi .bashrc
# or:
nano .bashrc
- Apply the changes shown in the #Rules section.
- 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-el6
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-el5.inactive
.
cd # Go to home directory
grep -A 1 module .bashrc > .modules-el5.inactive
- Duplicate the file.
cp .modules-el5.inactive .modules-el6
- 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-el6
# or:
nano .modules-el6
- Apply the changes shown in the #Rules section.
- Edit
~/.bashrc
and remove all lines withmodule
commands.
vi .bashrc
- Test.
bash -l # open a sub-shell (option is lowercase L)
module list
exit # leave the sub-shell
CentOS-dependent module selection
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-el5.inactive .modules-el5
vi .modules-el5 # clean up errant lines
- Test – same as in previous section.