Dr Robert Chisholm

Research Software Engineer

RSE working as part of the University's RSE team, that specialises in performance optimisation and (GPU) parallelisation. The RSE team provide software engineering support and training to researchers across all faculties of the university.

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 was 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 lead the masters level module COM4521 which focusses on GPU computation, I have been involved with this module since it was first developed during my PhD. I also supervise a small number of undergraduate dissertation and research projects. Full details of my historical teaching commitments are available on the teaching page.

Since the start of 2024, I have been working to improve researchers understanding of profiling and optimising Python. I developed a short-course "Performance Profiling & Optimisation (Python)" which now runs several times per semester (sign up via MyDevelopment). This project was first announced externally at RSECon24, and I am now working to build a community of practice focused on accessible software performance guidance.

Formerly a PhD Candidate under the supervision of Dr P. Richmond & Dr S. Maddock. Researching methods for working with incremental spatial data during parallel (GPU) computation.

This website is rarely updated, so get in touch if you'd like to know more or collaborate.