Overview

There are different ways that software modules can be installed on the Teton cluster, including modules that are available to everyone and modules that are available to a specific project or user. When new software installation is requested, knowing whether the expected users are an individual, a team/lab, or a wider group of users across different projects, and the software installation complexity, can help to determine the best way to install the software. In general, graphical applications are likely to be more complex to run in this type of environment.

To install the software yourself, please follow the process below. For more information on selecting the type of installation to use, or requesting system-wide installation, see Further Information below.

To Install a Software Module In Your Home Directory or Project Directory

Preparation

To keep software in your home directory organized, it is useful to create a subdirectory in which to install it, and a subdirectory for the corresponding module files. For this example, we'll use the following two subdirectories in the home directory:

drwxrwxr-x 5 uname uname       4096 Oct 15 16:34 mf
drwxrwxr-x 6 uname uname       4096 Oct 15 11:45 software

Installation

  1. Read the installation documentation for the process of building the software from the source. Specifically, note:

  2. Make all dependencies available by:

  3. Follow the installation instructions to install the software into the destination determined in the preparation step above. (For a "configure, make, make install" process, this is usually by an option to the configure command.)

Module Creation

  1. In your module files directory (called mf above), create a subdirectory which is the name of the software package as one word in all lower cases. (This name should generally not include the version number, as the version will be used later for a file name.)

  2. In the subdirectory just created, make a text file named software-version-number.lua, where software-version-number is the version of the software package just installed. (This organization allows modules to be created for multiple versions of a software package.) Edit this file to have content like:

-- sw-app-name ver.num
-- --
--
--

help([[
sw-app-name is a package that does something.
]])

prepend_path("PATH", "/home/uname/software/bin")

where:

Some software modules need additional details in this module file. The above example is a minimal one that can be used to start from. If you need help with a module file, please contact ARCC.

To Test the Use of the Module Just Made:

  1. Run:

    module use /home/uname/mf

    where /home/uname/mf is your module files directory.

  2. Run:

    module avail

    and the module you just created should be listed.

  3. Run:

    module load sw-app-name

    where sw-app-name is the name of the directory (created in step 1 of Module creation) for the module in the module files directory.

  4. Run:

    which sw-app-name

    and you should see the expected path.

  5. Try using sw-app-name as you normally would for some test cases.

Further Information

To Determine What Type of Installation to Use

  1. Search the installed modules for the software using Searching for Modules.

  2. If the software isn't yet installed, consider how widespread its expected use is.

  3. Consider possible restrictions on installing the software:

  4. If you need a Python module not currently available, you can install it to your home directory using Miniconda.

To Request System-Wide Installation of a Software Module

HPC Cluster Software Requests

There are different ways that software modules can be installed on HPC clusters, including modules that are available to everyone and modules that are available to a specific project or user. Knowing how wide the expected usage is, and the complexity, dependencies, and restrictions of the software can help to determine the best way to install it.

If there is some software that you would like to run on the cluster, please follow the process below.

Before Requesting a Software Installation, Please Consider the Following:

Is the Software Already Installed on the Cluster?

Search the installed modules for the software using Searching for Modules.

Consider Utility and Complexity

Are you the only user of this software?

Will it be used by team members in your project?

How complex or difficult is this software to install?

Install Your Own Software

  1. Obtain software website and installation instructions

  2. Determine required dependencies, they may already be modules installed on the cluster

  3. Determine if home or project directory install is appropriate

  4. Consider using miniConda or Singularity to create a sandboxed software environment:

  5. Consider possible restrictions on installing the software. Not all software is allowed or compatible on the cluster. If you are unsure, contact us.