Investor Specific Information

See the Investors page for the technical representative of each investor group and links to investor web sites (if available).

Investor-Specific Software Installation

The investor projects area can be used for investor specific software installations (especially those that will be used by multiple users). This provides a central location for the investor group to manage and maintain software and frees up disk space in the home directory. Backups for this area are provided via GPFS snapshots in the event of accidental deletions—however no disaster recovery backups are done.

In addition, a modulefile can be created to set up the changes to a user’s environment needed to access the software. The modulefile can be used to add entries to the standard system environment variables such as PATH, MANPATH, and so on, or set environment variables unique to the software.

A basic knowledge of Linux is required for these tasks.

Guidelines for Software Installation

Installation Location

Note

The steps below will only be done once and should be skipped if a common directory for software installations is already in place.

  1. Create a common directory for software installations under /projects/illinois/$college/$department/$pi_netid.

    For example:

    /projects/illinois/$college/$department/$pi_netid/apps/
    
  2. Use the change mode command chmod to set the permissions on this common directory so that group members can create software subdirectories here as well.

    chmod g+rw /projects/illinois/$college/$department/$pi_netid/apps
    

    The above command adds read and write permissions for groups on the apps directory.

    If you do not have write access to your investor group’s project area, contact your technical representative.

  3. Create a subdirectory for the software:

    /projects/illinois/$college/$department/$pi_netid/apps/<software_name>
    

    If there is a need for multiple versions to be concurrently supported, the structure could be:

    /projects/illinois/$college/$department/$pi_netid/apps/<software_name>/<version#>
    
  4. Install the software in the subdirectory following the instructions provided with the software.

  5. Use the change mode command chmod to recursively set the permissions on the subdirectory where you installed the software to allow access to the intended group.

    chmod -R g+rX /projects/illinois/$college/$department/$pi_netid/apps/<software_name>
    

    The above command adds read and execute permissions for group where appropriate on all directories and files of the software installation.

  6. If you are in multiple groups, verify that the software’s directories and files have the correct group ownership permissions to allow access to the intended group. If needed, the change owner command chown can be used to recursively set the appropriate group owner permissions.

    chown -R :group_name /projects/illinois/$college/$department/$pi_netid/apps/<software_name>
    

    The above command recursively changes the group ownership on all the directories and files of the software installation.

User Environment (Modules)

If you are unfamiliar with modules, see an example of a modulefile in use on the Campus Cluster: mvapich2/2.3-intel-18.0. You can see basic information about this module with the command:

module help mvapich2/2.3-intel-18.0

and more detailed information with:

module display mvapich2/2.3-intel-18.0

You can see the contents of the modulefile with:

cat /usr/local/modulefiles/mvapich2/2.3-intel-18.0

Note

The steps below will only be done once and should be skipped if a modulefiles directory is already in place.

  1. We recommend creating a common directory for locating the modulefiles, especially if multiple software packages will be installed/maintained. An example location would be:

    /projects/illinois/$college/$department/$pi_netid/modulefiles/
    
  2. Use the change mode command chmod to set the permissions on this common directory so that group members can create modulefiles here as well.

    chmod g+rw /projects/illinois/$college/$department/$pi_netid/modulefiles
    

    The above command adds read and write permissions for group on the modulefiles directory.

  3. Create the modulefile named <software_name> (or <software_name>/<version#>) in the modulefiles directory with the general structure provided in the Modulefile Template below.

    By default, read permissions should be set for group on the modulefile (which allows group members to load the software into their user environment).

    Online information on constructing your own modulefile:

  4. Load the software into your environment with the command:

    module load /projects/illinois/$college/$department/$pi_netid/modulefiles/<software_name>
    
  5. If your group will be installing/maintaining multiple software packages, you can make group specific modulefiles available for loading into your environment with:

    module use /projects/illinois/$college/$department/$pi_netid/modulefiles
    
  6. Then load the specific software module into your environment with:

    module load <software_name>
    

    These commands can be issued on the command line to take effect for the current session only or added to the $HOME/.bashrc to permanently add to your environment. See additional information on using modules at Managing Your Environment (Modules).

Modulefile Template

To construct your own modulefile, copy the template below and update for your needs.

Note

The investor group will need to fill in these values:

  • “Brief description of the software/library”

  • /installation/location/of/software/on/campuscluster

module-whatis lines are optional; these lines provide additional information about the software defined by the modulefile.

#%Module1.0####################################################################
##
##

proc ModulesHelp { } {
   global _module_name

   puts stderr "The $_module_name modulefile defines the default system paths"
   puts stderr "and environment variables needed to use the $_module_name"
   puts stderr "libraries and tools."
   puts stderr ""
}
module-whatis   "Brief description of the software/library."
set     approot  /installation/location/of/software/on/campuscluster


prepend-path             PATH  $approot/bin
prepend-path  LD_LIBRARY_PATH  $approot/lib
prepend-path          MANPATH  $approot/share/man