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...
Autores principales: | , , , |
---|---|
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 |