Quickstart Guide
A short orientation to the HPC cluster
One of the biggest challenges for new HPC users is figuring out where to start. This page hopefully helps overcome that hurdle. If not, you can always email hpc@cofc.edu to seek help.
The HPC Cluster
The HPC cluster is a commodity Linux cluster containing many compute, storage and networking equipment all assembled into a standard rack. It is largely accessed remotely via SSH although some applications can be accessed using web interfaces and remote desktop tools.
Hardware Specs
The cluster is composed of the following main components:
A login/visualization node/node - this is the server you connect to when you log into
hpc.cofc.edu
. The login node is intended for simple tasks likecompiling and testing code,
preparing and submitting jobs,
checking on job status,
doing non-intensive analysis and visualization
transferring data to/from the cluster
13 Compute nodes - these are the workhorses of the cluster that perform all your heavy computations. You generally submit calculations to these compute nodes using the SLURM batch scheduler, or you can do interactive computations by reserving nodes using the same SLURM scheduler. You would rarely need of the cluster. For computational work both Serial or Parallel, in Batch mode or Interactive mode, you will be using the compute nodes.
Other components you need not worry about -
Storage
long-term permanent storage nodes
short-term scratch storage nodes
Networking
out-of-band management switch
high-speed InfiniBand interconnect
General Process
Running calculations on the HPC takes different forms, but here are some typical steps
Request an account. It may take as long as 24 hours to create your accounts and run test calculations similar to what you intend to run.
Once you have an account, log into the HPC cluster via command line SSH or remote desktop client
Transfer data from your local computer and/or other sources to the HPC cluster
Find software to run from the cluster itself, download from a remote source, or compile your own code
Prepare input files
Prepare batch submission files
Submit your batch submission files to the queue manager to start the calculation
Check on the calculations as they progress
Analyze the results when they finish either on the HPC login node or copy the data to your local computer for analysis and visualization
Request an Account
Faculty and staff can request accounts emailing hpc@cofc.edu.
Students are eligible for accounts upon endorsement or sponsorship by their faculty/staff mentor/advisor. Their faculty/staff mentor/advisor can send an email request to hpc@cofc.edu on their behalf to initiate the account creation process.
You can read more about requesting account access.
During the account request process, you will be asked about how you intend to use the HPC so that we can make sure all the software and tools you need are available on the cluster. We also run a few tests and assist new users get started on the cluster based on the information you provide in the account request form.
Log into the HPC Cluster
Most users will access the cluster with a command line interface (CLI) using an SSH client. However, some may choose a graphical user interface (GUI) or a web interface to use the cluster.
Command line interface (CLI)
You would need an SSH client on your local computer to connect to the HPC cluster. MacOS and Linux provide SSH clients while most Windows machines require users to install external SSH clients.
In all cases, you would need to provide the following:
hostname - hpc.cofc.edu
user name - your user name
your password or SSH public key location
protocol and ports - if not populated by default, you can pick 'SSH' protocol running on port '22'
Windows 10 now has a Bash shell. If you are using an older version of Windows, you have the following options, among others for sure.
Windows PowerShell - Included in windows 10; good SSH client
MobaXterm - free + commercial versions providing SSH, X11, VNC and FTP clients.
XManager - free + commercial versions providing SSH, X11, VNC and FTP clients.
Git Bash - free and lightweight SSH client.
PuTTY - free SSH client and Bash environment
To log into the cluster, open a terminal and enter the following command:
ssh username@hpc.cofc.edu
If you want the ability to see graphical outputs from the cluster, give ssh
a '-X' or '-Y' flag.
ssh -X username@hpc.cofc.edu
You will be prompted to enter your password to log in. In the long run, you probably want to generate an SSH key that would allow you to log in without entering a password every time.
Graphical user interface (GUI)
GUIs enable users to compute on the cluster using little or no command line tools. These graphical access options come in two forms:
Remote desktop sessions
Web interface
Remote desktop sessions
You can learn how to access the HPC cluster using remote desktop clients here:
pageGUI - remote desktopWeb Interface
To make using the HPC cluster easier, some applications can be accessed using a web interface. Two such applications at the moment are WebMO and Jupyter Notebook.
WebMO is a web interface to many computational chemistry programs. It has many powerful capabilities that give users access to computational chemistry tools without having to use a command line.
Jupyter Notebook allows users to access and run Anaconda versions of Python 2/3, R and other applications using a web interface.
Transfer Data to the HPC Cluster
From your local computer, you can transfer your data to the cluster using scp
, rsync
or any command line or graphical tool
Using scp
To copy a single file
scp ./local_file myusername@hpc.cofc.edu:/home/myusername
To copy a directory recursively
scp -r ./local_file myusername@hpc.cofc.edu:/home/myusername
Using rsync
To copy a single file
scp ./local_file myusername@hpc.cofc.edu:/home/myusername
To copy a directory recursively
scp -r ./local_file myusername@hpc.cofc.edu:/home/myusername
Access Software
Our cluster uses LMod modules to provision software to users. LMod modules set paths to executables, libraries, include files and help pages for the requested software. They also load up any software the requested software depends on.
Users are welcome to install any software on their home directories and access them using custom module files or by setting up their environment in more traditional ways.
Modules
The default software stack is built using GNU8 compilers and OpenMPI3 message passing libraries. Other software that does not depend on GNU8 and OpenMPI3 libraries will also be available. As you change the compiler from GNU8, to GNU7, GNU5 or Intel2019, and the message library from OpenMPI3 to OpenMPI1, MPICH, MVAPICH or impi, the available software will vary. However, we try our best to make most software available within each stack.
Here are some helpful commands to use Lmod Modules.
See a list of currently loaded modules
See all available modules
See a description of all available software
Unload a module
Swap a module with a different version
Submit a job/calculation
Our cluster uses SLURM queue manager to schedule calculations (or jobs, as they are commonly called). Generally, users log into the login node, prepare their calculations and submit them to a SLURM queue manager, which sends the calculations to run on our many compute nodes that have the necessary resources for that particular calculation.
SLURM
A SLURM batch submission file typically looks like this:
One can submit this SLURM batch submission file to the queue manager using the sbatch
command. Here are some usage information for common SLURM commands.
Submit a job
Get list of running jobs
Delete a job
Get an overview of the cluster's resources and queues
Visualize Data
Remote visualization of your results during and at the end of simulations can be performed from your local computer while the data is still hosted on the HPC cluster. Please learn more about the process here:
pageVisualize DataLast updated