RSE working as part of the University's Research Software Engineering team. We provide software engineering support and training to researchers across all faculties of the university. I predominantly work with C/C++ and CUDA.
My work as an RSE includes development, maintenance and support of the FLAMEGPU2 framework for GPU accelerated Agent Based Modelling. This is a modern rewrite of FLAMEGPU, replacing the templated architecture with a more traditional library interface. Furthermore, models can now be described in both Python and C++, as we aim to increase the accessibility of GPU accelerated simulations to researchers as much as possible.
From 2019-2022 I have been attached to the PRIMAGE project, assisting a researcher with developing a large-scale simulation of cancerous Neuroblast cells, to link up with several other components to produce a multi-scale simulation of a tumour. The model was first implemented by Dr K. Y. Wertheim in Python, which I then translated to a bespoke fork of FLAMEGPU1, and subsequently FLAMEGPU2. By the end of the project they were able to work directly with the FLAMEGPU2 version of the model. The original Python model did not reasonably scale beyond a few hundred cells, whereas the FLAMEGPU2 model now operates with hundreds of thousands to millions of cells and is capable of simulating 3 months of progression at this scale in around 5 minutes with a modern GPU.
Additionally I provide teaching support to the undergraduate/MSC module COM4521 which focusses on GPU computation, I have been involved with this module since it was first developed during my PhD. More recently, since the 21/22 academic year I have been supervising a small number of undergraduate dissertation projects. Full details of my historical teaching commitments are available on the teaching page.
This website is rarely updated, so get in touch if you'd like to know more or collaborate.