Richmond, P. orcid.org/0000-0002-4657-5518, Chisholm, R. orcid.org/0000-0003-3379-9042, Heywood, P. orcid.org/0000-0001-9277-8394 et al. (2 more authors) (2023) FLAME GPU 2: a framework for flexible and performant agent based simulation on GPUs. Software: Practice and Experience, 53 (8). pp. 1659-1680. ISSN 0038-0644
Abstract
Agent based modelling (ABM) offers a powerful abstraction for scientific study in a broad range of domains. The use of agent based simulators encourages good software engineering design such as separation of concerns, that is, the uncoupling of the model description from its implementation detail. A major limitation in current approaches to ABM simulation is that of the trade off between simulator flexibility and performance. It is common that highly optimised simulations, such as those which target graphics processing units (GPU) hardware, are implemented as standalone software. This work presents a software framework (FLAME GPU 2) which balances flexibility with performance for general purpose ABM. Methods for ensuring high computational efficacy are demonstrated by, minimising data movement, and ensuring high device utilisation by exploiting opportunities for concurrent code execution within a model and through the use of ensembles of simulations. A novel hierarchical sub-modelling approach is also presented which can be used to model certain types of recursive behaviours. This feature is shown to be essential in providing a mechanism to resolve competition for resources between agents within a parallel environment which would otherwise introduce race conditions. To understand the performance characteristics of the software, a benchmark model with millions of agents is used to explore the use of simulation ensembles and to parametrically investigate concurrent code execution within a model. Performance speedups are demonstrated of 3.5 and 10 respectively over a baseline GPU implementation. Our hierarchical sub-modelling approach is used to demonstrate the implementation of a recursive algorithm to resolve competition of agent movement which occurs as a result of agent desire to simultaneously occupy discrete areas high in a ‘resource’. The algorithm is used to implement a classical socio-economics model, Sugarscape, with populations of up to 16M agents.
Metadata
Item Type: | Article |
---|---|
Authors/Creators: |
|
Copyright, Publisher and Additional Information: | © 2023 The Authors. Software: Practice and Experience published by John Wiley & Sons Ltd. This is an open access article under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in any medium, provided the original work is properly cited (https://creativecommons.org/licenses/by/4.0/). |
Keywords: | agent based modelling; GPUs; large scale simulation |
Dates: |
|
Institution: | The University of Sheffield |
Academic Units: | The University of Sheffield > Faculty of Engineering (Sheffield) > Department of Computer Science (Sheffield) |
Funding Information: | Funder Grant number ENGINEERING AND PHYSICAL SCIENCE RESEARCH COUNCIL EP/N018869/1 EUROPEAN COMMISSION - HORIZON 2020 777123 EUROPEAN COMMISSION - HORIZON 2020 826494 |
Depositing User: | Symplectic Sheffield |
Date Deposited: | 22 May 2023 13:42 |
Last Modified: | 03 Oct 2024 16:01 |
Published Version: | http://dx.doi.org/10.1002/spe.3207 |
Status: | Published |
Publisher: | Wiley |
Refereed: | Yes |
Identification Number: | 10.1002/spe.3207 |
Open Archives Initiative ID (OAI ID): | oai:eprints.whiterose.ac.uk:199416 |