HPC/Module naming scheme 2016
< HPC
Jump to navigation
Jump to search
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 |
Configuration steps
New-style modules only (recommended)
To switch over to new hierarchical module names on both CentOS releases it's perhaps 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:
- 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
- Edit your
.bashrc
file and update your module selections as follows:- Remove version numbers from module names of the old-style
packagename/version
, leaving onlypackagename
. This is the recommended approach, as you will automatically benefit from future versions. - To insist on a specific version for a package affected by the new-style names, use the form
packagename/compilername/version
orpackagename/mpiname/compilername/version
as appropriate. To see available flavors and versions, separately run the commandmodule avail packagename
.
- Remove version numbers from module names of the old-style
Alternatively:
- Keep a copy of your previous module selections in a conspicuously named but unused file, e.g.,
.modules-el5.inactive
. - Adapt the file to new module names.
- Remove all previous module customizations from
~/.bashrc
.
cd ~
grep module .bashrc > .modules-el5.inactive
cp .modules-el5.inactive .modules-el6
vi .modules-el6 # adapt module names
vi .bashrc # remove all lines with "module" commands
CentOS-dependent module selection
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
.bashrc
to~/.modules-el5
, where they will apply only on CentOS-5. - Place all your module selections for CentOS-6 in
~/.modules-el6
. Get started using the contents of the .*-el5 version.