High Performance Computing
What is it?
High Performance Computing applies to any technology that provides a fast execution environment. These days, this almost exclusively involves parallelism, although in the past a variety of techniques could deliver high performance. Modern HPC machines are usually built as clusters of commodity hardware, connected with high speed switching technology.
Currently, it is common to have processor nodes with multiple sockets, each of which can contain a multi-core processor. This means that processor nodes can implement shared memory paralleism, typically at the thread level. Enviroments such as OpenMP allow a program to exploit this type of concurrency. Larger programs can be distributed across the machine using message passing libraries such as MPI. It is not uncommon to exploit both parallelism forms, and hybrid programs execute multiple threads (typically as unrolled loops) within a node, and send messages between nodes.
What’s happening at UQ?
UQ researchers have access to a range of HPC resources based on campus, at the Polaris Data Centre, and also nationally. These are listed in the Infrastructure webpages.