Contact: Prof. Paul H. J. Kelly

The finite difference method is the most widely-used approach to solving partial differential equations in computational science and engineering – with important applications from subsurface image reconstruction to fluid dynamics to materials science and beyond. Finite difference solvers have characteristic loop and data-access patterns that benefit from optimisations that rely on application knowledge not available in general-purpose compilers. We are interested to investigate high-level languages for the finite difference method that opens up the scope for such domain-specific compiler techniques.

A key element of our research philosophy is the rigorous development of software tools that can be evaluated on diverse real-world problems of industrial and scientific importance. Applications include in particular seismic inversion, which provides a rich spectrum of challenges. We are interested to target the most sophisticated parallel hardware platforms available, including manycore, multithreaded and wide-vector architectures – such as Intel’s Xeon Phi and Skylake processors. PhD students interested to undertake this research will work in strict contact with world-leading experts in Mathematics, Geophysics and Computer Science, from both academia and industry (in particular, Intel Corporation).

For further information, do not hesitate to get in contact (