Our multi-disciplinary research targets strategic software technologies and applications, preparing them for current and next generation HPC architectures.
High-performance computing is at an exciting juncture. Current petascale systems enable a wide range of world-class science. However as we look towards future architectures, characteristics such as massive parallelism and heterogeneity will place considerable strain on the ability of existing software technologies and simulation codes to use these systems efficiently.
Our research programme
We are working to:
- Advance current software technologies in high-performance computing through innovation in languages, models, tools and algorithms;
- Enable world-class science on current and future architectures through both long-term strategic partnerships and medium-term collaborations with world-leading scientists;
- Enhance our understanding of the performance characteristics of developing HPC models, languages and architectures.
The next generation of HPC architectures are expected to be bounded by characteristics such as massive parallelism and heterogeneity. We have an extensive programme of research into preparing current software technologies for these systems, particularly at the exascale level. Specific areas of interest include programming models and languages, auto-tuning techniques and fault tolerance.
EPCC has established long-term, strategic partnerships with leading scientists in the areas of soft matter physics, molecular simulation, quantum chemistry and genomics.
We collaborate on short and long-term projects in a wide range of scientific areas, optimising, developing and enabling applications for current and future HPC systems.
The heterogeneity of current HPC architectures has resulted in an increase in the number of possible programming models available to scientists. Such models may be used either on their own or as part of a hybrid approach. Understanding the performance characteristics of these models is essential. EPCC has established expertise in benchmark development and has developed a series of micro-benchmarks to assess programming model performance.
PRACE (Partnership for Advanced Computing in Europe) is intended to prepare for the creation of a persistent pan-European HPC service, based on an infrastructure of around 4–5 Petaflop-scale supercomputers. EPCC has a leading role in ensuring that we understand how the major applications codes used across Europe can exploit these large systems.