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.
Create a common directory for software installations under
/projects/illinois/$college/$department/$pi_netid
.For example:
/projects/illinois/$college/$department/$pi_netid/apps/
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.
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#>
Install the software in the subdirectory following the instructions provided with the software.
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.
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.
Create a common directory for software installations under
/projects/<investor_group_name>
.For example:
/projects/<investor_group_name>/apps/
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/<investor_group_name>/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.
Create a subdirectory for the software:
/projects/<investor_group_name>/apps/<software_name>
If there is a need for multiple versions to be concurrently supported, the structure could be:
/projects/<investor_group_name>/apps/<software_name>/<version#>
Install the software in the subdirectory following the instructions provided with the software.
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/<investor_group_name>/apps/<software_name>
The above command adds read and execute permissions for group where appropriate on all directories and files of the software installation.
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/<investor_group_name>/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.
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/
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.
Create the
modulefile
named<software_name>
(or<software_name>/<version#>
) in themodulefiles
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:
Environment Modules: A Great Tool for Clusters (see section Building Your Own Module File )
Load the software into your environment with the command:
module load /projects/illinois/$college/$department/$pi_netid/modulefiles/<software_name>
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
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).
Note
The steps below will only be done once and should be skipped if a modulefiles
directory is already in place.
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/<investor_group_name>/modulefiles/
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/<investor_group_name>/modulefiles
The above command adds read and write permissions for group on the modulefiles directory.
Create the
modulefile
named<software_name>
(or<software_name>/<version#>
) in themodulefiles
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:
Environment Modules: A Great Tool for Clusters (see section Building Your Own Module File )
Load the software into your environment with the command:
module load /projects/<investor_group_name>/modulefiles/<software_name>
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/<investor_group_name>/modulefiles
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