Durham University’s Department of Computer Science will be the host to Intel’s first UK- based oneAPI Academic Centre of Excellence.
The centre will conduct research on task-based and GPU programming using oneAPI for heterogeneous architectures and will champion oneAPI training.
It aims to extend the hyperbolic PDE engine ExaHyPE into a OneExaHyPE code base that can operate across a wide range of Graphics Processing Unit (GPU) accelerated machines.
ExaHyPE is a simulation engine, similar to a graphics engine in computer games, that allows users to write wave equation solvers quickly.
Users define what equations they want to solve. ExaHyPE then decides how to solve them with mathematical techniques and in which order witha lot of the technical complexity hidden.
Professor Tobias Weinzierl, Durham’s Principal Investigator said: “Current High Performance Computing codes often run efficiently either on multicore nodes or accelerators, but typically struggle to balance between the two paradigms and to get the best performance out of both architectures working together. We also have to combine different programming technologies and languages to exploit the full potential of heterogeneous machines.
“The added value and big promise behind oneAPI is that we get one programming model for all parts of the machine and then can let algorithms decide dynamically which steps of the code to run where.”
The work done by Professor Weinzierl’s team in collaboration with Durham’s Advanced Research Computing directorate is used by colleagues from Durham’s Institute for Computational Cosmology (ICC), from Technical University Munich (TUM), the Ludwig Maximilans University (LMU) and the EU’s ChEESE consortium to simulate various wave phenomena.
Scientists from Durham’s Institute for Computational Cosmology (ICC) use ExaHyPE for research on how systems of binary black holes or neutron stars merge. Such mergers emit gravitational waves that can be measured and serve as cosmological test benches for new theories.
ExaHyPE users in Munich study how waves spread after earthquakes and how the computational predictions match the measurements that researchers make.
Durham’s computer scientists use it to develop novel uncertainty quantification models for tsunamis. The code is also used to assess and benchmark upcoming supercomputing technologies.
ExaHyPE’s compute core is entirely written in the general-purpose programming language, C++. It is compatible with OpenMP 5, which is an application programming interface that supports both multicore and GPU programming. The oneAPI port will offer an alternative multiprocessing/GPU backend.
Besides the enabling role for various wave research challenges, a big promise behind OneExaHyPE’s research is the identification, validation and documentation of parallelisation patterns and concepts that will help many other codes to exploit the added value behind oneAPI in multi-architecture performance.
oneAPI cross-architecture programming training will be integrated into Durham’s postgraduate degree programmes.
The centre will also organise workshops and tutorials on oneAPI cross-architecture programming that will be open to Durham students and researchers, and available to colleagues from all over the UK and beyond.