Many scientific and HPC software packages are already installed on Oscar, and
additional packages can be requested by submitting a ticket to
firstname.lastname@example.org. If you want a particular version of the software,
do mention it in the email along with a link to the web page from where it can
CCV cannot, however, supply funding for the purchase of commercial software.
This is normally attributed as a direct cost of research, and should be
purchased with research funding. CCV can help in identifying other potential
users of the software to potentially share the cost of purchase and
maintenance. Several commercial software products that are licensed campus-wide
at Brown are available on Oscar, however.
For software that requires a Graphical User Interface (GUI) we recommend using CCV's VNC client rather than X-Forwarding.
All programs are installed under
/gpfs/runtime/opt/<software-name>/<version>. Example files and other files can be copied to your home, scratch or data directory if needed.
CCV uses the PyModules package for
managing the software environment on OSCAR. The
advantage of the modules approach is that it allows multiple versions of the
same software to be installed at the same time. With the modules approach, you
can "load'' and "unload'' modules to dynamically control your environment.
||Lists all modules that are currently loaded in your software environment.|
||Lists all available modules on the system. Note that a module can have multiple
|module help name
||Prints additional information about the given software.|
|module load name
||Adds a module to your current environment. If you load using just the name of a module, you will get the default version. To load a specific version, load the module using its full name with the version:
"module load gcc/6.2"
|module unload name
||Removes a module from your current environment.|
Looking for available modules and versions
Note that the
module avail command allows searching modules based on partial names.
$ module avail bo
will list all available modules whose name starts with "bo".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name: bo*/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
boost/1.49.0 boost/1.63.0 bowtie2/2.3.0
This feature can be used for finding what versions of a module are available.
Auto-completion using tab key
module load command supports auto-completion of the module name using the "tab" key.
For example, writing "
module load bo" on the shell prompt and hitting "tab" key a couple of times will
show results similar to that shown above. Similarly, the
module unload command also auto completes
using the names of modules which are loaded.
Modules loaded at startup
You can also customize the default environment that is loaded when you login.
Simply put the appropriate module commands in the
.modules file in your home
directory. For instance, if you edited your
.modules file to contain
module load matlab
then the default module for Matlab will be available every time you log in.
What modules actually do...
They simply set the relevant environment variables like
CPATH. For example, PATH contains all the directory paths (colon separated) where executable programs are searched for. So, by setting PATH through a module, now you can execute a program from anywhere in the file-system. Otherwise, you would have to mention the full path to the executable program file to run it which is very inconvenient. Similarly, LD_LIBRARY_PATH has all the directory paths where the run time linker searches for libraries while running a program, and so on. To see the values in an environment variable, use the
echo command. For instance, to see what's in PATH:
$ echo $PATH