Lowering the barrier to entry for GPU acceleration in complex systems simulation - Paul Richmond
Channel: Cambridge University RSE Seminars
Date: 2024-02-13

Presenter: Paul Richmond, Research Software Engineering Team Lead, Institute of Computing for Climate Science, University of Cambridge
Presented on: 2023-06-01

Abstract:
 FLAMEGPU2 is a framework for developing highly parallel complex system simulations, allowing modellers to write their models using C++/Python without an explicit understanding of CUDA or GPU optimisation strategies. The software currently underpins exciting research into transport microsimulation, crowd modelling under social distancing, simulation of tumour growth in cancer research, and cellular biology modelling of the immune system.

FLAMEGPU has the ambition of lowering the barrier to entry for GPU acceleration of complex systems modelling. It is intended to let modellers write models and abstract the complexities of the GPU away from them. This allows greater accessibility to modellers with domain specific knowledge, without requiring an understanding of writing optimised GPU parallel code.

This talk will present the details of the software and how it provides a separation of concerns between modelling and implementation. Of interest is the interface which FLAME GPU provides to permit users to express models in Python. The details of supporting a Python front end requires language transpilation and runtime compilation. The talk will provide insight into the software engineering of the software as well as details of how the software has been developed and supported over a period of almost 10 years.