Currently I work on the Scalable, Energy-Efficient, Resilient and Transparent Software Adaptation (SERT) project, that deals with updating scientific computing codes for heterogeneous computing on a large scale. The aim of the project is to develop and deliver three tools: Adaptor, Rightsizer and Approximator. Adaptor will interceipt the software calls to the runtime system (OpenMP or MPI) and attempt to maximise the processing time of each computing core. Rightsizer will use the task-based programming paradigm to translate all computational work into small chunks, called “tasks”, identify the optimal chunk size for a given computational algorithm and platform and submit the tasks for execution. Approximator is a tool that will speed up the computation of a problem by using lower numerical precision at points in the algorithm, where the precision can be compromised, without affecting the end result.
The tools and ideas developed in the course of the SERT project will be applied to four established scientific codes, that have been in development for more than 10 years: Two Dimensional R-Matrix Propagator (2DRMP)–a code simulating electron scattering from Hydrogen-like atoms, DL_POLY–molecular dynamics simulator, Code_Saturne–Computational Fluid Dynamics software developed by EDF and LB3D–a scientific application based on 3D Lattice-Boltzmann algorithm for simulating intermixing of fluids.
Another line of research that I follow since my MSc and PhD time is the Computational Electrodynamics. I work on the Finite-Difference Time-Domain (FDTD) methods. It is a stencil-based method, that solves Maxwell’s equations using finite-differences to approximate the electromagnetic wave propagation in different materials. During my PhD I specialised on subgridding methods for FDTD and adapted Huygens Subgridding for 3D Frequency Dependent FDTD.