- Home
- About
- Research
- Education
- News
- Publications
- Guides-new
- Guides
- Introduction to HPC clusters
- UNIX Introduction
- Nova
- HPC Class
- SCSLab
- File Transfers
- Cloud Back-up with Rclone
- Globus Connect
- Sample Job Scripts
- Containers
- Using DDT Parallel Debugger, MAP profiler and Performance Reports
- Using Matlab Parallel Server
- JupyterLab
- JupyterHub
- Using ANSYS RSM
- Nova OnDemand
- Python
- Using Julia
- LAS Machine Learning Container
- Support & Contacts
- Systems & Equipment
- FAQ: Frequently Asked Questions
- Contact Us
- Cluster Access Request
When to use HPC cluster
Research problems that use computing can sometimes outgrow the desktop or laptop computer where they started.
There might not be enough memory, not enough disk space or it may take too long to run computations.
These days, a typical desktop or laptop computer has up to 16GB of memory, a small number of CPU cores and several TB of disk space. When you run your computations on a computer, the program and data get loaded from the disk to the memory and the program's commands are executed on the CPU cores. Results of the computations are usually written back to the disk. If too much data needs to be loaded to memory, the computer will become unresponsive and may even crash.
Typical cases of when it may be beneficial to request access to an HPC cluster:
- computations need much more memory than what is available on your computer
- the same program needs to be run multiple times (usually on different input data)
- the program that you use takes too long to run, but it can be run faster in parallel (usually using MPI or OpenMP)
- you need access to a GPU accelerator (your program needs to be written in a way that allows it to use your GPU).
One should not expect that any program will automatically run faster on a cluster. In fact a serial program that does not need much memory may run slower on an HPC cluster than on a newer laptop or desktop computer. However, on a cluster one can take advantage of multiple cores by running several instances of a program at once or using a parallel version of the program.
Next: What is an HPC cluster