Skip to main content

1.1) What Is High Performance Computing?


There are numerous and varied definitions of HPC but a good definition is:

High Performance Computing encompasses a collection of:

  • Hardware systems (e.g. CPUs, GPGPUS, storage, interconnects)
  • Software tools (e.g. middleware, applications, schedulers, debugging tools)
  • Programming languages (e.g. C, Fortran, Python)
  • Parallel programming paradigms (e.g. algorithms, shared memory parallelism, distributed memory parallelism)

which all make previously unfeasible calculations possible.

This is particularly relevant as Computational Science has established itself, alongside theory and experiment, as a fundamental tool of scientific enquiry. It allows the investigation of phenomena that are simply too hard, too expensive, too dangerous or simply too slow to examine by any other method.