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.
Physically-based mouth models operate on the principle that a better mouth animation will be produced by simulating physically accurate behaviour of the mouth. In the development of these models, it is useful to have an evaluation approach which can be used to judge the effectiveness of a model and draw comparisons against other models and real-life mouth behaviour. This article presents a set of metrics which can be used to describe the motion of the lips, as well as a process for measuring these from video of real or simulated mouths, implemented using Python and OpenCV. As an example, the process is used to evaluate a physically-based mouth model focusing on recreating the stickiness effect of saliva between the lips. The metrics highlight the changes in behaviour due to the addition of stickiness between the lips in the synthetic mouth model and show quantitatively improved behaviour in relation to real mouth movements. The article concludes that the presented metrics provide a useful approach for evaluation of mouth animation models that incorporate sticky lip effects.
The emergence of virtual human twins (VHT) in biomedical research has sparked interest in multiscale in silico modelling frameworks, particularly in their application bridging cellular to tissue levels. Among the diverse array of multiscale modelling tools, off-lattice center-based agent-based models (CBM) offer a promising approach due to their depiction of cells in 3D space, closely resembling biological reality. Despite the proliferation of CBM tools addressing various biomedical challenges, a comprehensive and systematic comparison among them has been elusive. This paper presents a community-driven benchmark initiative aimed at evaluating and comparing CBM for biomedical applications, akin to successful efforts in other scientific domains such as the Critical Assessment of Protein Structure Prediction (CASP). Enlisting developers from leading tools like BioDynaMo, Chaste, PhysiCell,TiSim, and CompuTiX, we devised a benchmark scope, defined metrics, and established reference datasets to ensure a meaningful and equitable evaluation. Unit tests targeting different solvers within these tools were designed, ranging from diffusion and mechanics to cell cycle simulations and growth scenarios. Results from these tests demonstrate varying tool implementations in handling diffusion, mechanics, and cell cycle equations, emphasising the need for standardised benchmarks and interoperability. Discussions among the community underscore the necessity for defining gold standards, fostering interoperability, and drawing lessons from analogous benchmarking experiences. The outcomes, disseminated through a public platform in collaboration with OpenEBench, aim to catalyse advancements in computational biology, offering a comprehensive resource for tool evaluation and guiding future developments in cell-level simulations. This initiative endeavours to strengthen and expand the computational biology simulation community through continued dissemination and performance-oriented benchmarking efforts to enable the use of VHT in biomedicine.
Chaste is an open-source C++ library providing a general-purpose framework for cell-based simulations of biological tissues. It has been applied to a wider range of biological processes, including morphogenesis, carcinogenesis, and wound healing. Such simulations often involve numerous mechanical interactions between neighbouring cells, making them computationally demanding. Graphical Processing Units (GPUs), with their highly parallel architectures, offer a powerful means to accelerate these computations, enabling larger, more detailed simulations and improving research productivity. FLAME GPU 2 is a GPU-accelerated simulator for domain-independent complex systems that maps formal agent descriptions written in scripting language to optimized CUDA code. In this work, FLAME GPU 2 is integrated with Chaste to accelerate force calculations in a class of cell-based simulations, demonstrating the feasibility of GPU acceleration within existing CPU-based frameworks. The GPU-accelerated implementation is validated against the original CPU version, achieving up to 93.6x speedup in force calculations and 3.72x speedup for full simulations across various cell population sizes. Moreover, the approach enables smaller mechanics time steps, without incurring significant data transfer overhead, thereby improving the accuracy of mechanical modelling. This enhancement increases the fidelity of cell position calculations in non-equilibrium simulations and improves dynamic accuracy as cells approach equilibrium.