1
Acknowledgment CPU (central processing unit) GPU (graphic processing unit) References Yun Li *, Yee Key (Nicole) Li**, A. Najafi Yazdi*** and Luc Mongeau*** Introduction Objectives What is ABM Conclusion Future Work Implementation of Agent Based Model of Tissue Inflammation on CPU and GPU Scarring in the vocal folds is commonly caused by surgical injury or voice use and is a byproduct of the tissue healing response to the injury. This pro- cess involves a plethora of cells and chemicals whose interactions are dynamics and non-linear. In this project, the dynamics of vocal fold wound healing are simulated using Agent Based Modeling (ABM). Many agent rules governing wound repair tend to involve mathematically simple operations. It was hypothesized that such rules would evolve faster using a GPU implementation than a CPU im- plementation. This project represents the first step towards the building of our own computational model of vocal fold wound healing on high-performance computing platform based on graphic processing units 1) Implement a simplified version of the published vocal fold ABM with a reduced number of cells and chemical using Java, which will run on the CPU. 2) Implement the reduced ABM using CUDA, the language that harnesses the power of the GPUs to multitask. 3) Simulation time will be benchmarked for the two models. A simplified ABM model was implemented on CPU with four cell types and four chemicals. Their inter- actions were limited to chemical diffusion and cel- lular movement towards the direction of greatest gradient of concentration. We have started to build the model from ground up with CUDA. (This work is in progress) 1) Using CUDA to implement the system on GPUs holds great promise to improve simulation time be- cause GPUs are much better at multi-tasking than CPUs. Since with ABMs the same calculations are performed for each Patch, Cell and Chemical, the model can greatly benefit from CUDA's command over GPUs to perform these calculations simultane- ously. 2) Continue building and refining both models by adding more layers of complexity so the model can more realistically represent the wound healing pro- cess. Agent Based Modeling (ABM) builds its systems from the bottom up. It can model complex processes by breaking the process down to the individual be- haviours of components and interaction of these components. These smaller components are gov- erned by their own set of simpler rules which allows them to evolve and interact with others. To clarify the idea one can contrast ABM with models involving the solution of differential equations. These equations can be ordinary (ODEs) or partial differen- tial equations (PDEs) which identify variables of in- terest and track their evolution through time march- ing solutions of the equations. At each time step, all the agents (cells and chemi- cals) evolve and interact with their neighbours. We keep track of their behaviour for over 100 time steps. Two major classes, Patches and Agents, are created. Cells and Chemicals are simulat- ed as agents. Cells include Macro- phages, Neutrophils, Fibroblasts and Plate- lets. Chemicals include interleukin (IL)10, IL1beta, transforming growth factor (TGF) and tumor necrosis factor (TNF). Java, being an object orient- ed language, is a natural choice for building an ABM. It is hides much of the de- tails of memory allocation from the programmer. The code executes entirely on the CPU * Department of Civil Engineering and Applied Mechanics, McGill University **Department of Hearing and Speech Sciences, University of Maryland ***Department of Mechanical Engineering, McGill University Sponsor: NIH-NIDCD grant R03 DC 12112 (Y.K. Li, PI) Bio- simulation of vocal fold injury Crossley M., Amos M., SimZombie: A Case-Study in Agent-Based Simulation Construction, Springer Berlin / Hei- delberg, http://dx.doi.org/10.1007/978-3-642-22000-5_53, ac- cessed June, 2012 Van Dyke Parunak, H., Savit, R., & Riolo, R. L. (1998). Agent-based modeling vs equation-based modeling: a case study and users' guide. Paper presented at the Multi-agent Systems and Agent-based Simulation. NVIDIA Corporation. CUDA C Programming Guide, Version 4.2. 2012 The implementation allows the cells and chemicals to travel in dis- crete steps from patch to patch. Likewise, time is also modeled in discrete time-steps The result of their interaction is visu- alized using ParaView. We generate data about each patch for every time step and ParaView takes the data and renders the animation. Implementation CUDA C is the language of choice for building the model on the GPU. It offers a low learning curve with simple and intuitive GPU extension to the C/C++ language. The model can benefit from both the objected oriented nature of C++ and the multi-threading capability of the CUDA extension which offers great promise of effi- ciency and speed. The code executes on both the CPU and GPU at the same time

Implementation of Agent Based Model of Tissue Inflammation

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Implementation of Agent Based Model of Tissue Inflammation

Acknowledgment

CPU (central processing unit) GPU (graphic processing unit)

References

Yun Li *, Yee Key (Nicole) Li**, A. Najafi Yazdi*** and Luc Mongeau***Introduction

Objectives

What is ABM

Conclusion

Future Work

Implementation of Agent Based Model of Tissue Inflammation on CPU and GPU

Scarring in the vocal folds is commonly caused by surgical injury or voice use and is a byproduct of the tissue healing response to the injury. This pro-cess involves a plethora of cells and chemicals whose interactions are dynamics and non-linear.

In this project, the dynamics of vocal fold wound healing are simulated using Agent Based Modeling (ABM). Many agent rules governing wound repair tend to involve mathematically simple operations. It was hypothesized that such rules would evolve faster using a GPU implementation than a CPU im-plementation.

This project represents the first step towards the building of our own computational model of vocal fold wound healing on high-performance computing platform based on graphic processing units

1) Implement a simplified version of the published vocal fold ABM with a reduced number of cells and chemical using Java, which will run on the CPU.

2) Implement the reduced ABM using CUDA, the language that harnesses the power of the GPUs to multitask.

3) Simulation time will be benchmarked for the two models.

A simplified ABM model was implemented on CPU with four cell types and four chemicals. Their inter-actions were limited to chemical diffusion and cel-lular movement towards the direction of greatest gradient of concentration.

We have started to build the model from ground up with CUDA. (This work is in progress)

1) Using CUDA to implement the system on GPUs holds great promise to improve simulation time be-cause GPUs are much better at multi-tasking than CPUs. Since with ABMs the same calculations are performed for each Patch, Cell and Chemical, the model can greatly benefit from CUDA's command over GPUs to perform these calculations simultane-ously.

2) Continue building and refining both models by adding more layers of complexity so the model can more realistically represent the wound healing pro-cess.

Agent Based Modeling (ABM) builds its systems from the bottom up. It can model complex processes by breaking the process down to the individual be-haviours of components and interaction of these components. These smaller components are gov-erned by their own set of simpler rules which allows them to evolve and interact with others. To clarify the idea one can contrast ABM with models involving the solution of differential equations. These equations can be ordinary (ODEs) or partial differen-tial equations (PDEs) which identify variables of in-terest and track their evolution through time march-ing solutions of the equations.

At each time step, all the agents (cells and chemi-cals) evolve and interact with their neighbours. We keep track of their behaviour for over 100 time steps.

Two major classes, Patches and Agents, are created. Cells and Chemicals are simulat-ed as agents. Cells include Macro-phages, Neutrophils, Fibroblasts and Plate-lets. Chemicals include interleukin (IL)10, IL1beta, transforming growth factor (TGF) and tumor necrosis factor (TNF).

Java, being an object orient-ed language, is a natural choice for building an ABM.

It is hides much of the de-tails of memory allocation from the programmer.

The code executes entirely on the CPU

* Department of Civil Engineering and Applied Mechanics, McGill University**Department of Hearing and Speech Sciences, University of Maryland***Department of Mechanical Engineering, McGill UniversitySponsor: NIH-NIDCD grant R03 DC 12112 (Y.K. Li, PI) Bio-simulation of vocal fold injury

Crossley M., Amos M., SimZombie: A Case-Study in Agent-Based Simulation Construction, Springer Berlin / Hei-delberg, http://dx.doi.org/10.1007/978-3-642-22000-5_53, ac-cessed June, 2012Van Dyke Parunak, H., Savit, R., & Riolo, R. L. (1998). Agent-based modeling vs equation-based modeling: a case study and users' guide. Paper presented at the Multi-agent Systems and Agent-based Simulation.NVIDIA Corporation. CUDA C Programming Guide, Version 4.2. 2012

The implementation allows the cells and chemicals to travel in dis-crete steps from patch to patch. Likewise, time is also modeled in discrete time-steps

The result of their interaction is visu-alized using ParaView. We generate data about each patch for every time step and ParaView takes the data and renders the animation.

Implementation

CUDA C is the language of choice for building the model on the GPU.It offers a low learning curve with simple and intuitive GPU extension to the C/C++ language.The model can benefit from both the objected oriented nature of C++ and the multi-threading capability of the CUDA extension which offers great promise of effi-ciency and speed.The code executes on both the CPU and GPU at the same time