Improving the FLAME GPU User Experience through Examples
Project Overview
Agent-Based Modelling (ABM) is a simulation technique that explores how interactions between autonomous agents can lead to emergent and often complex behaviours. FLAME GPU is a software framework that offers GPU-accelerated simulation of ABM approaches, enabling the scaling of models to millions of agents through parallel processing.
The goal of this project was to improve the FLAME GPU user experience by porting a number of existing and foundational agent-based models from NetLogo to FLAME GPU using new and experimental Python bindings. The ported models are focused around earth science, social science, and economics, with an aim to increase the usage of FLAME GPU in these respective circles.
What were the key results of your research project?
I successfully ported 4 NetLogo models (Fire, Segregation, Bidding Market, and Rebellion) to FLAME GPU using Agentic Python bindings. Each model has supporting documentation outlining its approach and sequence. I also created a Python notebook tutorial for the Fire model to introduce the parallel modelling concepts that present when moving from sequential modelling software, such as NetLogo, to FLAME GPU.
GitHub Repository: https://github.com/FLAMEGPU/FLAMEGPU2
A presentation of this research will be shared here and on our YouTube site when available.
How do you feel you have benefitted from completing this internship and has it made you consider future career paths?
Prior to this internship, I had experience in C++/cmake/Python from both university and industry, but no knowledge of CUDA/GPU programming or parallel software paradigms. Throughout this project I learnt about GPU architectures, modelling techniques, and how to write research software that would be executed in parallel.
This internship has definitely made me consider a dRTP career, specifically RSE. I enjoyed the multidisciplinary nature of research projects, as they can take you to very different fields from your own, which I find really fascinating.
Finally, I really enjoyed working with the Sheffield RSE team over the summer! They made the project really flexible and allowed me a lot of autonomy over my work, which I appreciated.
Download presentation slides