Frequently Asked Questions about Software on HPC

Using HPC Software

Compiling and Installing HPC Software

Additional Questions?

Using HPC Software

What software is available on HPC?


A comprehensive list of all software installed in the HPC environment can be found in the /usr/usc directory. Most traditional UNIX utilities can be found in /usr/bin.

How do I run MATLAB on HPC?


See the Parallel MATLAB page for information on running MATLAB on HPC. Additional information on Parallel MATLAB is available in the HPC Parallel MATLAB Workshop presentation.

Why am I getting a “command not found” error when I try to run an HPC application?


The shell gives this error when it is unable to find the requested application in your search path ($PATH). It usually means that you forgot to set up your environment before you tried to use the application.

On HPC you must run (or “source”) a setup script to enable you to use HPC software. These scripts are named setup.sh (bash) and setup.tcsh (t shell) and are located in the directory of the version of the software you want to use.

For example, if you want to run SAS in the bash shell, try the following commands:

$ sas
bash: sas: command not found
$ source /usr/usc/sas/default/setup.sh
$ sas

How do I check if a program or library is installed on HPC?

  • Use “which” or “whereis” to locate binary (executable) programs in your path.
  • The default HPC path only searches a few directories so the program that you are seeking may not be discoverable. For example, programs under /usr/usc are not initially discoverable, which is why you have to source setup files to use them.

    Example:

    $ which gcc
    /usr/bin/gcc
    
    $ whereis gcc
    gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz
    
    $ source /usr/usc/gnu/gcc/5.3.0/setup.sh
    $ which gcc
    /usr/usc/gnu/gcc/5.3.0/bin/gcc
    
  • Use the RPM package manager to locate programs or libraries that have been installed on a node. The command, rpm, will not find programs and libraries installed under /usr/usc. NOTE:Ppackages available on head nodes might not be available on compute nodes.

    Example:

    $ rpm -qa | fgrep atlas
    atlas-3.8.4-2.el6.x86_64
    atlas-devel-3.8.4-2.el6.x86_64
    
    $ rpm -q --info atlas
    Name        : atlas                        
    Version     : 3.8.4                             
    Release     : 2.el6                         
    Build Date: Tue 20 Mar 2012 07:03:13 PM PDT
    :
    URL         : http://math-atlas.sourceforge.net/
    Summary     : Automatically Tuned Linear Algebra Software
    Description :
    The ATLAS (Automatically Tuned Linear Algebra Software) project is an
    :
    
    $ rpm -q --filesbypkg atlas
    atlas                     /etc/ld.so.conf.d/atlas-x86_64.conf
    atlas                     /usr/lib64/atlas
    atlas                     /usr/lib64/atlas/libatlas.so.3
       :
    
    $ rpm -q --filesbypkg atlas | fgrep blas
    atlas                     /usr/lib64/atlas/libcblas.so.3
    atlas                     /usr/lib64/atlas/libcblas.so.3.0
    atlas                     /usr/lib64/atlas/libf77blas.so.3
      :
    
  • Check the /usr/usc directory.

How do I check if a python package is installed on HPC?


The command, pip freeze, will display all the python packages installed in the current version that you are using.

Example:

$ source /usr/usc/python/3.6.0/setup.sh
$ pip3 freeze
appdirs==1.4.0
cycler==0.10.0
Cython==0.25.2
dask==0.13.0
	:
	:
scikit-image==0.12.3
scikit-learn==0.18.1
scipy==0.18.1
	:

If you are using Python 2, you should use the following commands:

$ source /usr/usc/python/2.7.8/setup.sh 
$ pip freeze

Compiling and Installing HPC Software

How do I compile a program on HPC?


HPC has the GNU, Portland Group, and Intel compilers, and MPI compiler wrappers installed in the /usr/usc directory. To use one of these compilers, you must source the appropriate setup.csh or setup.sh file each time you log in.

For example, the following command sets up the Portland Group compiler:

source /usr/usc/pgi/default/setup.csh

For additional assistance with these compilers, see the Compilers Help Pages documentation.

Where are the compilers located on HPC?


GNU compilers come installed on the operating system and are, by default, in your path.

Examples:

$ which gfortran
/usr/bin/gfortran
$ gfortran --version
GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)

$ which f95
/usr/bin/f95
$ f95 --version
GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)

$ which gcc
/usr/bin/gcc
$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)

$ which g++
/usr/bin/g++
$ g++ --version
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)

For compatibility, we also have additional versions of gnu compilers which can be found under /usr/usc/gnu/gcc.

Intel compilers are available under /usr/usc/intel. Choose the version of the compiler you want to use and source its setup file to access it.

$ source /usr/usc/intel/16.0/setup.sh
$ which ifort
/usr/usc/intel/16.0/compilers_and_libraries_2016.0.109/linux/bin/intel64/ifort

Java is available under /usr/usc/java and /usr/usc/jdk.

Additional Questions?


For questions regarding HPC accounts, HPC cluster resources, or education and training on HPC, click one of the following links: