We recommend contacting Sabalcore Support for building and installing Software. However, you can also build and install software yourself. This section describes various was of installing software.
There are four common methods for building/installing software in your Sabalcore account. The most basic method is to manually compile your code using a compiler directly. You can also use the “make” command along with a Makefile, which describes how to build your software, to compile source codes. Many open-source software packages provide a configure script which creates a Makefile and other configuration files required to build the package. Finally, you may wish to install a package which has been distributed as an RPM. Generally, these packages should be installed by Sabalcore Support, but in some cases you may install them yourself.
Compiling Code – Start an interactive session and load required modules
Review how to invoke an interactive session. Start an interactive session requesting at least one core on the node of your choice. For example
qsub -I -l nodes=1:red:ppn=4
Then use the “module avail” command to see which compilers and libraries are available. We have GNU and Intel compilers available. Use the
module avail gcc
or
module avail intel
command to see what is available After starting the interactive session, use the “module load <COMPILER>” command to load a specific compiler. Note that <COMPILER> should be the name/version of the compiler you would like to use, e.g. “gcc/10.2.0”.
module load gcc/10.2.0
module list
will list the modules loaded in your environment.
There are many other modules and libs available such as fftw, gnuplot, ect. Load all that you require. If a lib is missing, contact support for installation.
After you have loaded all required modules, you can use the compiler directly from the command-line. If you need help compiling your code, please contact Support.
Building Software with MPI and InfinBand
If you need to compile your own parallel software, you should use either OpenMPI or mpich as your MPI library when building your application. OpenMPI is the recommended MPI library at Sabalcore. Both are already installed and configured to work well on our HPC systems. Simply load either the ‘openmpi’ or ‘mpich’ module before configuring/building your software. When you load the module, all the correct paths and environment variables will be set. If you need to manually edit a Makefile or supply configuration options for MPI, you can use ‘module show openmpi’ or ‘module show mpich’ to find where the MPI libraries are installed. See Modules for more information. It is not recommended to build your own MPI library. If, for whatever reason, you need to build your own MPI library, please contact support@sabalcore.com for additional assistance.
Commercial Compilers
The Intel v2020 and Oneapi compilers are available system-wide. To invoke the compiler, follow the same instructions as above but you must load the Intel module, specifically:
module load intel/2020/2020.0.166
or for the most current version
module load intel
Not every commercial compiler is available directly to users. Some compilers including PGI and new versions of Intel are available through Sabalcore Support. Contact Support and include the details of the compilation (location of source, compiler needed, and options). We will then contact you for further instructions.
Using a Makefile or configure script
Makefile – If you already have a Makefile for you source code, then building it is very simple. Just make sure that you load the compiler module and that your Makefile uses one of the available compilers (GNU) then enter ‘make’.
“configure” script – Run the “./configure” command as you normally would but use the –prefix=$HOME option to ensure the package will be installed in your home directory. After configuring, typically you would run the “make”, “make test”, and “make install” commands to complete the installation.
Installing Software
Using an RPM Package
You may want to install a software package from an RPM file into your home-directory. It is recommended that you request such a package to be installed system-wide by contacting Support . However, in some cases, it is possible to install such packages directly in your home-directory. You will have to use at a minimum the –prefix option to rpm to force the installation to occur in your home-directory. You may also need to use the –relocate option. Please refer to “man rpm” for more details. As always, please contact Support if you require any help.