CUDA Spotlight: GPU-Accelerated Agent-Based Simulation of Complex Systems

Paul-RichmondThis week’s Spotlight is on Dr. Paul Richmond, a Vice Chancellor’s Research Fellow at the University of Sheffield (a CUDA Research Center). Paul’s research interests relate to the simulation of complex systems and to parallel computer hardware.

The following is an excerpt from our interview (read the complete Spotlight here).

NVIDIA: Paul, tell us about FLAME GPU.
Paul: Agent-Based Simulation is a powerful technique used to assess and predict group behavior from a number of simple interacting rules between communicating autonomous individuals (agents). Individuals typically represent some biological entity such as a molecule, cell or organism and can therefore be used to simulate systems at varying biological scales.

The Flexible Large-scale Agent Modelling Environment for the GPU (FLAME GPU) is a piece of software which enables high level descriptions communicating agents to be automatically translated to GPU hardware. With FLAME GPU, simulation performance is enormously increased over traditional agent-based modeling platforms and interactive visualization can easily be achieved. The GPU architecture and the underlying software algorithms are abstracted from users of the FLAME GPU software, ensuring accessibility to users in a wide range of domains and application areas.

NVIDIA: How does FLAME GPU leverage GPU computing?
Paul: Unlike other agent-based simulation frameworks, FLAME GPU is designed from the ground up with parallelism in mind. As such it is possible to ensure that agents and behavior are mapped to the GPU efficiently in a way which minimizes data transfer during simulation.

One of the most exciting aspects of GPU-accelerated simulation is that simulations can often be run faster than real-time. For example, a pedestrian evacuation model can be matched to real-world conditions and an evacuation plan can be simulated, essentially looking into the future for potential danger or problems. This forms the basis of my current work into using such agent simulation techniques for prediction and decision making.

Example of pedestrian evacuation modeling simulation with FLAME GPU

NVIDIA: Which CUDA features and GPU libraries do you use?
Paul: Initially FLAME GPU used my own implementations of sorting and stream compaction techniques. However, this functionality has been migrated, initially to CUDPP and more recently to Thrust. It is likely that CUB will be used in the future to gain even more performance.

I am currently re-engineering a large amount of the FLAME GPU code to take advantage of newer GPU features such as concurrency through parallel streams, GPUDirect for multi GPU architectures and faster sorting methods based on improved atomics performance.

NVIDIA: What is ACRC and how is it using the outputs of FLAME GPU?
Paul: The Advanced Computing Research Centre (ACRC) at the University of Sheffield is a gateway to collaborating with industry, with simulation as one of the key focus areas. FLAME GPU and similarly the FLAME HPC software (for distributed architectures) are used to provide simulations with an industrial focus impacting areas such as planning, construction, the environment, medical research and economic policy. It is very exciting to see the impact of high-performance simulation techniques being applied to real industrial needs. So far there has been lots of varied interest.

NVIDIA: Tell us about Osteolytica.
Paul: Osteolytica is the result of a training program to promote interdisciplinary research and is a great example of how CUDA is being applied to a wide range of domains within the University of Sheffield CUDA research Center.

During the training program I met with Dr. Andrew Chantry, a clinical researcher in the school of medicine. We discussed a particular problem related to not having a robust method for quantifying the extent of cancer-induced osteolytic lesion damage of bone samples obtained through microCT volumetric scans.

I realized that GPU computing could be used to provide a novel algorithm for localized bone surface reconstruction, effectively providing a metric to measure damage. This software is now used heavily within Dr. Chantry’s research to evaluate cancer treatments and the university is exploring commercialization options.

Osteolytica lesion analysis software

Read the full interview with Paul Richmond. Read more CUDA Spotlights.


About Calisa Cole

Calisa Cole
Calisa joined NVIDIA in 2003 and currently focuses on marketing related to CUDA, NVIDIA’s parallel computing architecture. Previously she ran Cole Communications, a PR agency for high-tech startups. She majored in Russian Studies at Wellesley and earned an MA in Communication from Stanford. Calisa is married and the mother of three boys. Her favorite non-work activities are fiction writing and playing fast games of online scrabble.