Software Installation Guide
Installation Guide
The general widely used Software will be installed in HPC whereas users are recommended to install their specific Software by themselves. A list of installed Software in HPC and instructions to use them are made available at Software Guide or using command "module avail". This installation guide helps you to install the Software in your home directory. If you require help, please send errors via
Important Notes
Check if the Software is already available in HPC using "module spider" or "module avail"
Operating System binaries, libraries and include files are located at /usr/bin/, /usr/lib64, and /usr/include. This will include gcc compiler libraries for the gcc version bundled with the OS. Other software may require other library version:
For Markov, please load the base module (module load base) for loading dependencies if not available as system package.
For Pioneer, look to the GCCcore module packages to satisfy dependencies.
Please email us at hpc-support@case.edu if you still get the compilation errors, or have questions.
Software cannot be installed through RPMs directly. It should be downloaded as compressed file e.g. tar.gz
We recommend you to keep your software in distinct directory paths for 'markov' and 'pioneer'. The /home directories are mounted on both clusters, and keeping distinct directory paths is important to avoid confusion. For example, name source file at /home/<caseID>/.usr/local/pioneer/src/<pkg-name> and choose the installation directory as home/<caseID>/.usr/local/pioneer/<pkg-name>
The flags --enable-static in the configure confirms the creation of static libraries along with the default dynamic ones. For MPI or other features, look for enabling them in the configure
Red Hat is our default operating system. If you want to use other flavors of OS, please see the HPC Guide to Singularity.
Information about your server/platform
Platform:
uname -a
Linux hpc3 3.10.0-1062.9.1.el7.x86_64 #1 SMP Mon Dec 2 08:31:54 EST 2019 x86_64 x86_64 x86_64 GNU/Linux
This indicates Intel Xeon 64 (x86_64) bit platform (architecture based on Intel 8086 CPU) for GNU/Linux Kernel version (3.10.0-1062.9.1.el7.x86_64) el7=>enterprise linux OS version 7)"
Exact OS version:
cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.7 (Maipo)
For detail information:
lscpu # e.g. flags sse (Streaming SIMD Extensions)
Preparing to Install
Reserve a Compute Node or a GPU Node
If your software does not require a GPU, then reserve a compute node
srun -N 1 -n 1 --mem=4gb --pty /bin/bash
Some packages allow compilation in parallel. To compile in parallel you will need more tasks. Choose a different value for the flag -n. These will be the number of threads that you can specify at compilation.
If your software requires a GPU, then check what GPU node you will need and reserve it. For example, if your software requires a GPU P100, then you would allocate it like this:
srun -p gpu -C gpup100 --gres=gpu:1 -N 1 -n 1 --mem=4gb --pty /bin/bash
Choose a Module Hierarchy
Choosing a hierarchy is really important as it determines which compiler you will be using.
For Markov:
MPI for Intel: this is the default setting. If all the dependencies you need are in the Intel + MPI hierarchy, this is your setting.
MPI for GCC: if your software requires MPI and you want to use a GCC compiler, or your dependencies are in this hierarchy. From the default setting run:
module swap intel/17 gcc/6.3.0Intel: If your software and its dependencies do not require MPI and you want to use an Intel Compiler. To set up just the Intel compiler from any hierarchy, run:
module purge
module load intel/20-1GCC: If your software and its dependencies do not require MPI and they are all under the GCC hierarchy. To set up just the GCC compiler from any hierarchy, run:
module purge
module load gcc/6.3.0
For Pioneer:
No modules are loaded by default, unlike Markov.
Identity the compiler directly, or through the 'foss' or 'intel' toolchains
module load foss/2022a
or
module load GCCcore/11.3.0
module load OpenMPI/4.1.4-GCC-11.3.0Indicate both the module name and version, as many packages are updated regularly, and the default version will change to the most recent.
Load the Base Module on Markov
Deciding if you need the base module or not is quite important. If one of your dependencies is a more recent version of a RHEL7 package, then you will need base. It may be that the base module will be loaded as a dependency of one of the dependencies of your software.
We recommend using the system libraries as much as possible.
NOTE: Compiling with base can bring some compilation errors. Please read carefully the page about Working With the Base Module.
Download Installation Files
Locate the installation file in the website that matches your server's environment and platform. The installation files are usually in tar.gz, tar.bz2 compression format.
Download the installation file in your home directory:
From the web:
wget <url>
(Right click on the file_link and select "copy link address" for url)
From GitHub like web-based hosting service, clone the repository or you can download the .zip format by clicking on ZIP link:
git clone <url>
(Note: if there is no wget or git option to download and you are downloading the file manually in your PC transfer it to HPC by following Transferring Files at HPC.
Install the Software
Most software includes installation instructions as part of the documentation, but frequently these instructions will assume the installer has administrative access. We have short guides for how to install different types of software as a normal user in the HPC environment:
Create a Module
Creating a module for software you have installed can make it easier to activate and use. We have a guide for Creating User Modules that provides templates and reference material.
Issues or Questions ?
Contact us at hpc-supportATcase.edu