Research areas

EPCC conducts research at the leading edge of High Performance Computing and Data Science, from application performance optimisation to parallel programming models, and from novel hardware to applied machine learning.

Application performance optimisation and development

EPCC has a long history of hosting and working with high performance computing systems, from local clusters to the UK national services. As a result, we have decades worth of experience optimising and fine tuning scientific applications so they can achieve the best possible performance for the hardware they are using. In addition, where necessary develop new, more scalable applications to replace legacy software (e.g. MONC). The aim of our applications performance research is to achieve maximum efficiency with the aim to deliver scientific results fast and accurately.

Examples of our applications research are:

Parallel programming models 

EPCC has been at the forefront of the development of parallel programming models for more than 30 years, starting with our own CHIMP message passing interface in the early 1990s. Since then, EPCC has contributed to the development and success of the MPI and OpenMP standards processes.

The hardware architectures of supercomputers have been evolving, with an increasing trend towards  heterogeneity, which has a direct impact on programmability. EPCC's research on parallel programming models for distributed, and potentially heterogeneous, systems explores how to exploit the compute resources most efficienctly, for example by improving the interoperability of MPI and OpenMP with tasked-based models (such as OmpSs), CUDA and SYCL.

Examples of our parallel programming models research are:

Parallel I/O performance

Contention for shared resources, such as the parallel file system, in a system can significantly impact application performance. EPCC is researching techniques to mitigate such performance bottlenecks and exploit novel hardware resources to match application demands in HPC.

The use of non-volatile memory for optimised I/O performance for HPC and Data Science applications is one area of research EPCC is pursuing. This research uses a new generation of byte-addressable persistent memory technology, called DCPMM, and a prototype cluster was developed as part of the EU-funded NEXTGenIO project. Research questions that are addressed including the different modes of operation for DCPMM (e.g. using it as slow high-capacity memory alongside DRAM or as very fast node-local storage in front of the parallel file system).

Examples of our I/O performance research are:

Machine learning

At EPCC, we examine the possibilities and opportunities presented by machine learning in a scientific environment—specifically pattern recognition and interpretation in large data sets.

This could mean anything from improving speed and reducing drilling risks in oil and gas exploration, to efficiently identifying anomalies in medical radiographic images. 

Examples of our research on machine learning are:

Novel architectures

EPCC investigates and assesses the viability of novel hardware and architectures at the leading edge of HPC. This has included working with the Met Office to explore using FPGAs in atmospheric modelling and weather forecasting, and exploring accelerating Nekbone on FPGAs.

Examples of our research on novel architectures are: