Modules

Many popular software packages are installed and available as modules.  There may be several versions of a package available.

The policies regarding the installation of software is on this page.  In general, scientific software is installed as requested with the caveats noted in that section.

To submit a request to have software installed on the UA HPC/HTC systems use the HPC Software Install Request form: http://uits.arizona.edu/forms/hpc-software-install-request

You can install software packages into your home directories with the space that is allocated to you with your HPC account.  However you cannot install software that requires root permission, or use a method like "yum install" that accesses system paths.

The Running Jobs page has examples of how to run some of the applications.

 

Module Commands

 module avail

 Display all the software and versions installed on the system

 module list

 Display the software you have loaded in your environment

 module load modulename

 Load a software module in your environment

 module purge

 Unload all the software modules from your environment

 module unload modulename

 Unload a specific software package from your environment

 module help

 Display a help menu for the module command

 

Example for Using Modules

First log in to the login node:
ssh netid@login.hpc.arizona.edu

To display a list of the available packages:
module avail

To load the latest installed version of the "Trinity" software:
module load trinity

To list the software you currently have loaded: 
module list

To unload all modules if you want to start over.  Logging out will also unload modules.
module purge

Installing Your Own Software

Follow this  link for detailed information on how to install your own software

 

Using and Installing Python

Follow this link for more information on using Python.

 

Compilers

  1. Generation One.  There are several compilers available for your use.  Remember when you run your code and you need to do a module load, that you use the same version of compiler that the code was originally compiled with.
    1. GCC is available by default.  gcc --version shows that it is 4.4.4  That version was installed at cluster installation and has not been updated to maintain consistency between compiling software and subsequently running it. If you also need the GNU Scientific Libraries (gsl), that is available using module load gsl which will get you version 1.15
    2. The Intel 2012 compiler suite is available as a module.  module load intel will load the 2012 suite.  It is the default for the same reason as gcc. The math kernel libraries (mkl) are provided when you module load intel (any version) - no separate step is required.
    3. The Intel 2013 compiler suite is also available as an optional module.  module load intel/2013.5.192 will provide that version if needed.
    4. The latest Intel suite is now available with module load intel/xe.2016.u2.  Unlike earlier versions, you do not need to separately load the MPI capable compiler.  For detailed information, refer to the Intel documentation:
      https://software.intel.com/en-us/articles/intel-parallel-studio-xe-2016-release-notes  
    5. MPI compilers

      • intel-mpi/2012.0.032 is the default version which matches the non-mpi version.  Use module load intel-mpi
      • intel-mpi/2013.5.192 is available by specifying module load intel-mpi/2013.5.192
      • openmpi version 1.4.4 is available by specifying module load openmpi
      • mpich2 is available at version 1.4.1p1 by default or you can get version 3.1.4 with module load mpich2/3.1.4
  2. El Gato  

    1. The principles are similar for ElGato except that the intel and intel-mpi compilers are only available for the 2013 versions.

    2. openmpi is available both for version 1.6.5 and version 1.8.1

    3. El Gato has a separate web site with easy to follow instructions.

  3. Ocelote
    1. GCC is available without loading a module.  gcc --version shows that it is 5.2.0
    2. The Intel Compiler suite 2016 is available in both 32 and 64 bit versions.  The math kernel libraries (mkl) are provided as separate modules, also in 32 and 64 bit versions.
    3. MPI compilers.  There are more choices now so pay attention.
      1. There are standard Red Hat versions of mpich, mvapich, mvapich2 and openmpi.  Some extra options are invoked when you load one - use module avail to see the specific name.
      2. The same four compilers are available with more detailed options for gcc, intel and open64.  Again use module avail for the appropriate choices.
    4. AVX2  The new cluster has Intel V3 Haswell processors.  A key feature of these is AVX2. Read this Intel document.

      For AVX2 support, compile with the -xHOST option. Note that -xHOST alone does not enable aggressive optimization, so compilation with -O3 is also suggested. The -fast flag invokes -xHOST, but should be avoided since it also turns on interprocedural optimization (-ipo), which may cause problems in some instances.

      For GNU compilers, AVX support is only available in version 4.6 or later.  For AVX support, compile with -mavx