My research interests are the following:
- Scientific computing and High Performance Computing
- Parallel algorithms in sparse linear algebra, structured and unstructured mesh computations
- Domain specific languages and high-level approaches in scientific computing
- Automated mapping of algorithms to parallel architectures and programming languages
- Low-level performance optimisation and benchmarking of CPUs and accelerators like GPUs and the Xeon Phi
- Delivering high-level features such as checkpointing, MPI communications, memory locality improvements automatically through DSLs
The bulk of my research takes place in the context of the OP2 and OPS libraries for unstructured and structured grids and the OPS library for structured grids. My primary research interest is to raise the level of abstraction of programming for domain scientists, such as physicists, chemists, mathematicians, to enable them to describe their computational problems at a higher level and not worry about the practical implementation issues, such as managing data movement and parallelism.
Software:
- OP2 - DSL for unstructured mesh computations. Available on github
- OPS - DSL for multi-block structured mesh computations. Available on github