Software Installation Request Policy
Purdue IT will go to every effort to provide a broadly useful set of popular software packages for research cluster users. However, many domain-specific packages that may only be of use to single users or small groups of users are beyond the capacity of research computing staff to fully maintain and support. Please consider the following if you require software that is not available via the module command:
- If your lab is the only user of a software package, Purdue IT staff may recommend that you install your software privately, either in your home directory or in your lab's Research Data Depot space. If you need help installing software, research computing support staff may be able to provide limited help.
- As more users request a particular piece of software, Purdue IT may decide to provide the software centrally. Matlab, Python (Anaconda), NAMD, GROMACS, and R are all examples of frequently requested and used centrally-installed software.
- Python modules that are available through the Anaconda distribution will be installed through it. Purdue IT staff may recommend you install other Python modules privately.
- If required libraries or basic utilities are available from the operating system vendor (libpng, GTK, gzip, etc) they may be installed upon request using the Red Hat package manager.
If you're not sure how your software request should be handled or need help installing software please contact us at firstname.lastname@example.org.
Purdue IT provides a suite of broadly useful software for users of research computing resources. This suite of software includes compilers, debuggers, visualization libraries, development environments, and other commonly used software libraries. Additionally, some widely-used application software is provided.
"Devel" Recommended Environment
For each cluster, Purdue IT makes a recommendation regarding the compiler, math library, and MPI library. This is a proven stable compiler, math, and MPI library combination that is recommended if you have no specific requirements. To load the recommended set:
$ module load devel
The GNU Compiler (GCC) is provided via the module command on all clusters, and will be maintained at a common version compatible across all clusters. Third party software built with GCC will use this GCC version, rather than the GCC provided by the operating system vendor. To see available GCC compiler versions available from the module command:
$ module avail gcc
Purdue IT will build and maintain an integrated, tested, and supported toolchain of compilers, MPI libraries, data format libraries, and other common libraries. This toolchain will consist of:
- Compiler suite (C, C++, Fortran) (Intel and GCC)
- BLAS and LAPACK
- MPI libraries (OpenMPI, MVAPICH, Intel MPI)
Each of these software packages will be combined with the stable "devel" compiler, the latest available Intel compiler, and the common GCC compiler. The goal of these toolchains is to provide a range of compatible compiler and library suites that can be selected to build a wide variety of applications. At the same time, the number of compiler and library combinations is limited to keep the selection easy to navigate and understand. Generally the toolchain built with the latest Intel compiler will be updated at major releases of the compiler.
Commonly Used Applications
Purdue IT will go to every effort to provide a broadly useful set of popular software packages for research cluster users. Software packages such as Matlab, Python (Anaconda), NAMD, GROMACS, R, and others that are useful to a wide range of cluster users are provided via the module command.
Other Software Repositories
Some user communities may maintain copies of their domain software for others to use. For example, the Purdue Bioinformatics Core provides a wide set of bioinformatcs software for use by any user of the clusters. Purdue IT recommends first checking the Bioinformatics repository before requesting or installing bioinformatics software.
To access and inventory this software:
$ module load bioinfo $ module avail
Changes to Provided Software
Changes to available software, such as the introduction of new compilers and libraries or the retirement of older toolchains, will be scheduled in advance and coordinated with system maintenances. This is done to minimize impact and provide a predictable time for changes. Advance notice of changes will be given with regular maintenance announcements and through notices printed through “module load”s. Be sure to check maintenance announcements and job output for any upcoming changes.
Long Term Support
Purdue IT understands the need for a stable and unchanging suite of compilers and libraries. Research projects are often tied to specific compiler versions throughout their lifetime. Purdue IT will go to every effort to provide the "devel" environment and the common GCC compiler as a long term supported environment. These suites will stay unchanged for longer periods than the toolchain built with the latest available Intel compiler.