Cargando…

GPU Acceleration of 3D Agent-Based Biological Simulations

Researchers in biology are faced with the tough challenge of developing high-performance computer simulations of their increasingly complex agent-based models. BioDynaMo is an open-source agent-based simulation platform that aims to alleviate researchers from the intricacies that go into the develop...

Descripción completa

Detalles Bibliográficos
Autores principales: Hesam, Ahmad, Breitwieser, Lukas, Rademakers, Fons, Al-Ars, Zaid
Lenguaje:eng
Publicado: 2021
Materias:
Acceso en línea:https://dx.doi.org/10.1109/IPDPSW52791.2021.00040
http://cds.cern.ch/record/2766171
_version_ 1780971200043810816
author Hesam, Ahmad
Breitwieser, Lukas
Rademakers, Fons
Al-Ars, Zaid
author_facet Hesam, Ahmad
Breitwieser, Lukas
Rademakers, Fons
Al-Ars, Zaid
author_sort Hesam, Ahmad
collection CERN
description Researchers in biology are faced with the tough challenge of developing high-performance computer simulations of their increasingly complex agent-based models. BioDynaMo is an open-source agent-based simulation platform that aims to alleviate researchers from the intricacies that go into the development of high-performance computing. Through a high-level interface, researchers can implement their models on top of BioDynaMo's multi-threaded core execution engine to rapidly develop simulations that effectively utilize parallel computing hardware. In biological agent-based modeling, the type of operations that are typically the most compute-intensive are those that involve agents interacting with their local neighborhood. In this work, we investigate the currently implemented method of handling neighborhood interactions of cellular agents in BioDynaMo, and ways to improve the performance to enable large-scale and complex simulations. We propose to replace the kd-tree implementation to find and iterate over the neighborhood of each agent with a uniform grid method that allows us to take advantage of the massively parallel architecture of graphics processing units (GPUs). We implement the uniform grid method in both CUDA and OpenCL to address GPUs from all major vendors and evaluate several techniques to further improve the performance. Furthermore, we analyze the performance of our implementations for models with a varying density of neighboring agents. As a result, the performance of the mechanical interactions method improved by up to two orders of magnitude in comparison to the multithreaded baseline version. The implementations are open-source and publicly available on Github.
id cern-2766171
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2021
record_format invenio
spelling cern-27661712023-02-03T13:42:16Zdoi:10.1109/IPDPSW52791.2021.00040http://cds.cern.ch/record/2766171engHesam, AhmadBreitwieser, LukasRademakers, FonsAl-Ars, ZaidGPU Acceleration of 3D Agent-Based Biological SimulationsComputing and ComputersComputing and ComputersResearchers in biology are faced with the tough challenge of developing high-performance computer simulations of their increasingly complex agent-based models. BioDynaMo is an open-source agent-based simulation platform that aims to alleviate researchers from the intricacies that go into the development of high-performance computing. Through a high-level interface, researchers can implement their models on top of BioDynaMo's multi-threaded core execution engine to rapidly develop simulations that effectively utilize parallel computing hardware. In biological agent-based modeling, the type of operations that are typically the most compute-intensive are those that involve agents interacting with their local neighborhood. In this work, we investigate the currently implemented method of handling neighborhood interactions of cellular agents in BioDynaMo, and ways to improve the performance to enable large-scale and complex simulations. We propose to replace the kd-tree implementation to find and iterate over the neighborhood of each agent with a uniform grid method that allows us to take advantage of the massively parallel architecture of graphics processing units (GPUs). We implement the uniform grid method in both CUDA and OpenCL to address GPUs from all major vendors and evaluate several techniques to further improve the performance. Furthermore, we analyze the performance of our implementations for models with a varying density of neighboring agents. As a result, the performance of the mechanical interactions method improved by up to two orders of magnitude in comparison to the multithreaded baseline version. The implementations are open-source and publicly available on Github.arXiv:2105.00039oai:cds.cern.ch:27661712021
spellingShingle Computing and Computers
Computing and Computers
Hesam, Ahmad
Breitwieser, Lukas
Rademakers, Fons
Al-Ars, Zaid
GPU Acceleration of 3D Agent-Based Biological Simulations
title GPU Acceleration of 3D Agent-Based Biological Simulations
title_full GPU Acceleration of 3D Agent-Based Biological Simulations
title_fullStr GPU Acceleration of 3D Agent-Based Biological Simulations
title_full_unstemmed GPU Acceleration of 3D Agent-Based Biological Simulations
title_short GPU Acceleration of 3D Agent-Based Biological Simulations
title_sort gpu acceleration of 3d agent-based biological simulations
topic Computing and Computers
Computing and Computers
url https://dx.doi.org/10.1109/IPDPSW52791.2021.00040
http://cds.cern.ch/record/2766171
work_keys_str_mv AT hesamahmad gpuaccelerationof3dagentbasedbiologicalsimulations
AT breitwieserlukas gpuaccelerationof3dagentbasedbiologicalsimulations
AT rademakersfons gpuaccelerationof3dagentbasedbiologicalsimulations
AT alarszaid gpuaccelerationof3dagentbasedbiologicalsimulations