Research Software Engineering
The term of Research Software Engineer (RSE) refers to the position of a software engineer applying software skills to further research. My career as an academic researcher has always been focused on the development of software to support research, predominantly through the application of emerging hardware architectures to complex systems simulation. My technical expertise in GPU computing has led me to work more broadly, engaging with researchers in a wide range of domains to embed accelerated and GPU computing into their research ecosystems.
RSEs come from a broad range of backgrounds, from traditional support roles, from industry and from research. My background in independent research means that I self identify as a RSE with a strong emphasis on research relating to the application of GPUs. The focus of my EPSRC RSE fellowship reflects this in that I aim to provide the following.
- Software: I will actively develop the FLAME and FLAME GPU software packages allowing a broad range of research domains simulating complex systems to automatically target GPU and HPC infrastructure without having to have explicit knowledge of parallelism.
- Skills and Training: I will provide training for GPU computing. This will include undergraduate training, short courses and focused industry led training sessions. This will enable people to utilise GPU parallelism to accelerate their research.
- A Community: I will provide research software consultancy to researchers fostering a ecosystem of co-production to build a team of GPU aware research software engineers. I will endeavour to provide strong national leadership and link existing GPU communities.
If any of the following are true then please contact me.
- I would like help with multi agent simulation.
- I would like to use FLAME or FLAME GPU to perform large scale simulations.
- I want to understand how agent based simulations can be used in my research.
- I have a large scale compute problem which may be suitable for acceleration with GPUs.
- I am a traditional HPC user and would like to explore how GPUs could be used in my software.
- I want to know more about deep learning on GPUs.
- I run or participate in a local GPU club or research group.