of shared objects. If you have multiple compilers (perhaps with incompatible shared objects) installed, it is probably wise to set MPI_CC (and others) explicitly to the commands made available by the compiler’s modulefile.

The contents of the modulefiles in the modulefiles_hptc RPM use the vendor-intended location of the installed software. In many cases, this is under the /opt directory, but in a few cases (for example, the PGI compilers and TotalView) this is under the /usr directory.

If you install a software package other than the intended place, you must create or edit an appropriate modulefile under the /opt/modules/modulefiles directory.

For the packages that install by default into the /usr directory (currently the PGI compilers and TotalView), their corresponding modulefiles will try their vendor-intended location under the /usr directory. If they do not find that directory, the packages will also search under the /opt directory. Therefore, no changes to the modulefiles are needed if you want to install third-party software consistently as the vendor intended or consistently under the /opt directory,

If the package is the stable product intended to be used by the site, editing an existing modulefile is appropriate. While each modulefile has its unique characteristics, they all set some variables describing the top-level directory, and editing to adjust the string should be sufficient. You may need to repeat the adjustment if you update the modulefiles_hptc RPM or otherwise rebuild your system.

If the package is a variant, for example, a beta version of a compiler, first copy the default modulefile to a well-named copy, then edit the copy. You need root access to modify the modulefiles, which is generally needed to install packages in either the /opt or /usr directories.

If a user downloads a package into a private directory, the user can create a private modulefiles directory. The user can then copy the corresponding default modulefile from under the /opt/modules/modulefiles directory into a private modulefiles directory, edit the file, and then register the directory with the module use command.

2.2.2 Supplied Modulefiles

The HP XC system provides the Modules Package (not to be confused with Linux kernel modules) to configure and modify the user environment. The Modules Package enables dynamic modification of a user’s environment by means of modulefiles.

A modulefile contains information that alters or sets shell environment variables, such as PATH and MANPATH. Modulefiles provide a convenient means for users to tailor their working environment. Modulefiles can be loaded automatically when the user logs in to the system or any time a user needs to alter the environment.

The HP XC System Software provides a number of modulefiles. In addition, users can also create and load their own modulefiles to modify their environment further.

The HP XC system supplies the modulefiles listed in Table 2-1.

Table 2-1: Supplied Modulefiles

Modulefile

Sets the HP XC User Environment:

icc/8.0

To use Intel C/C++ Version 8.0 compilers.

icc/8.1

To use Intel C/C++ Version 8.1 compilers.

ifort/8.0

To use Intel Fortran Version 8.0 compilers.

ifort/8.1

To use Intel Fortran Version 8.1 compilers.

intel/7.1

For Intel Version 7.1 compilers.

intel/8.0

For Intel Version 8.0 compilers.

Using the System 2-3