The policies regarding the installation of software are on this page. In general, scientific software is installed as requested with the caveats noted in that section. There are over 100 software applications installed as modules so you should look there before submitting an installation request. As an alternative, you are always welcome to install your own software or other software in your file space.
Many popular software packages are installed and available as modules. There may be several versions of a package available.
The responsibility of software management is primarily that of users since it is not practical or helpful to maintain a large library of packages with different configurations of each package.
If there is a package that you believe would be of wide enough interest to be installed as a module, you can place a request here.
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.
Modules Software Management
Puma, Ocelote, and El Gato are built with CentOS 7 along with the system libraries, compilers and utilities that are needed for HPC operations.
Software packages are available as modules and are accessible from the compute nodes of any of our three clusters. They are not available on the login nodes so you will need to be in an interactive session to access them. A list of installed software is kept on this page, but may not be as current as using the
module avail command as shown below.
If multiple versions of software are available on the system, the newest is made the default. This means loading a module without specifying the version will select the most recent. We strongly recommend including version information in your module statements. This ensures that you maintain a consistent environment for your analyses in the event of a software upgrade.
To see, access, and get information on individual software packages available on the system, use the module commands detailed below. If you have trouble accessing the module command, see our FAQ section.
|Display all the software and versions installed on the system|
|Display all installed versions of the software "module_name"|
|Display the software you have loaded in your environment|
module load modulename
|Displays some descriptive information about a specific module|
|Load a software module in your environment|
|Unload a specific software package from your environment|
|all the software|
|modules from your environment|
|Display a help menu for the module command|
Example for Using Modules
First log in to the login node:
To display a list of the available packages:
To load the latest installed version of the "Trinity" software:
module load trinity
To list the software you currently have loaded:
To unload all modules if you want to start over. Logging out will also unload modules.
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.
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.
- 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
- 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.
- The Intel 2013 compiler suite is also available as an optional module. module load intel/2013.5.192 will provide that version if needed.
- 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 wth module load mpich2/3.1.4
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
The principals are similar for ElGato except that the intel and intel-mpi compilers are only available for the 2013 versions.
openmpi is available both for version 1.6.5 and version 1.8.1
El Gato has a separate web site with easy to follow instructions.
Puma, Ocelote, and El Gato all run CentOS7 and have the following compilers available:
Common Software Packages
Follow the links below for detailed information on using the listed software packages.
Installing additional software
To submit a request to have software installed on the UA HPC systems, use our HPC Software Install Request form. (This link might be under construction, so send an email to hpc-consult) There is no expected timeframe for how long it takes to install software, there are many variables that determine this. If you haven't heard back in a week, it is reasonable for you to follow up with a support ticket
You may also install software packages into 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. For information on installing software locally, see our online guide for an example.