What is the HPC?
The High Performance Computing Cluster at SAIF is a tightly integrated system of uniform servers connected by a fast data network that is designed to run compute-intensive programs. This uniformity and integration makes the system extremely well suited for processing workloads that would not scale on regular computers because of memory requirements or CPU limits.
What is it used for?
The HPC is used for long-running jobs that require large compute resources, like many CPUs or memory. To allow many users to run program at the same time, HPC systems make use of batch non-interactive jobs that are scheduled on available resources. In a batch system, users describe the workflow of their program and once a job is submitted to the system, it runs independent of any user input until it finishes. Jobs can be monitored, but not interacted with.
Many users write and/or compile their own software to run on the HPC, for which we provide number of tools and libraries to support. Other users can run jobs using general-purpose applications, such as MATLAB, SAS.
Who has access?
Access to the HPC is available for all SAIF faculty and PhD students.
The HPC can run many different types of jobs. Some popular, new, or noteworthy platforms and technologies include the following:
Python - The HPC provides a robust implementation of Python, which is increasingly used in computational science. We provide support for a number of Python utilities for compiling Python code to C (e.g. Cython) and working with Python visually.
MATLAB - The HPC provides support for distributed MATLAB jobs. In addition, you can compile MATLAB code to C and run that on the HPC for higher performance and fewer license restrictions.
Virtual Machine - A virtual machine, commonly shortened to just VM, is no different than any other physical computer like a laptop, or server. It has a CPU, memory, disks to store your files, and can connect to the internet if needed. While the parts that make up your computer (called hardware) are physical and tangible, VMs are often thought of as virtual computers or software-defined computers within physical servers, existing only as code.