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.
CentOS 6 and CentOS 7
Ocelote is built on CentOS 6 which is the foundation for all compilers, libraries, and applications. Some workloads need CentOS 7 for its newer kernel. A number of GPU nodes have been reprovisioned with a CentOS 7 image. To access one of these nodes, modify the PBS select statement to include os7=True. Note the upper case T
A list of installed software is kept at this page.
Many popular software packages are installed and available as modules. There may be several versions of a package available.
|Display all the software and versions installed on the system|
|module list||Display the software you have loaded in your environment|
|module what-is modulename||Displays some descriptive information|
|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|
Installing additional software
To submit a request to have software installed on the UA HPC systems use the HPC Software Install Request form: https://it.arizona.edu/hpc-software-install-request
There is no expected timeframe for how long it takes to install software. There are many variables. If you haven't heard back in a week, it is reasonable for you to follow up with firstname.lastname@example.org
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.
Follow this link for detailed information on how to install your own software
Follow this link for more information on using Perl.
Follow this link for more information on using Python.
Follow this link for more information on using R.
Follow this link for more information on using Matlab
Anaconda is available as a module and comes with Glueviz, JupyterLab, Jupyter Notebook, Spyder, Orange and RStudio. It also supports the conda commands for building a personal environment.
Apache Spark is a fast and general-purpose cluster computing system. However it has not been installed for support in a multi-node environment as yet. That functionality is planned for the future. It provides high-level APIs in Java, Scala, Python and R, and an optimized engine that supports general execution graphs. It also supports a rich set of higher-level tools including Spark SQL for SQL and structured data processing, MLlib for machine learning, GraphX for graph processing, and Spark Streaming.
There are some simple tests here.
El GatoElGato is now running CentOS 7. The compilers available are:
Intel/2019.3: "module load intel"
- GCC 5.4.0: "module load gnu"
- GCC 8.3.0: "module load gnu8"
- LLVM 5.0.1" "module load llvm5"
- GCC is available without loading a module. gcc --version shows that it is 6.1.0. If you also need the GNU Scientific Libraries (gsl), that is available using module load gsl which will get you version 2.1
- 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.
- The Intel Compiler 2019 is available and is no longer separated like 2016. So there are not separate modules for mkl, mpi, etc
- PGI compilers 2018 (Portland Group) are installed as a module. We have provided these in particular for their OpenACC support. We do not build software with the PGI compilers.
- MPI. There are more choices now so pay attention.
- 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.
- The same four MPI are available with more detailed options for gcc, intel and open64. Again use module avail for the appropriate choices.
- AVX2 Ocelote 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