Main Page | Recent changes | View source | Page history

Printable version | All content dual-licensed under the GNU FDL and the Creative Commons Share-alike Attribution license. | Privacy policy

Not logged in
Log in | Help
 

CUDA Provides Significant Runtime Performance Improvements for a Complex ABMS

From SwarmWiki

Nathan Menke

Department of Emergency Medicine, Medical College of Virginia

TITLE: CUDA Provides Significant Runtime Performance Improvements for a Complex ABMS

ABSTRACT: The coagulation system (CS) is a complex, inter-connected biological system with major physiological and pathological roles. The CS may be viewed as a complex adaptive system, in which individual components are linked through multiple feedback and feedforward loops. The non-linear relationships between the numerous coagulation factors and the interplay among the elements of the CS render the study of this biology at a molecular and cellular level nearly impossible. We have employed an Agent Based Modeling Simulation (ABMS) in our current approach to the analysis of the CS due to the potential ability to quantitatively analyze individual components of each system at every point of simulation. ABMS is a dynamic modeling and simulation tool that allows the study of complex non-linear networked systems. ABMS represents a non-reductionist approach to studying the biologic process as a whole, while retaining the information at an individual level. The complexity of the CS has stymied experimental efforts to gain a system level understanding of the coagulation cascade and its subnetwork components. ABMS may readily provide elucidation of the pathophysiology of diseases related to the coagulation system. Such a model may prove informative regarding individual disease processes such as genetic and acquired disorders of coagulation. Unfortunately, ABMS is a computationally expensive process. To date our efforts have been stymied by the time required to run simulations. The large number of elements (on the order of 106) results in a computationally expensive process. Simulations take days to weeks to run on a desktop computer. We hypothesized that conversion of the model into other platforms may significantly decrease the time required to run simulations.

We present a comparison of the run-times of 4 ABMS models: 1 & 2) common platforms Netlogo and Repast; 3) C program designed to run on a single processor and 4) C program designed to utilize the parallel architecture of the Graphics Processing Unit (GPU) via the NVIDIA Compute Unified Device Architecture (CUDA). As expected, it is observed that, GPU-based ABMS execution affords excellent speedup on our complex model. In contrast with the traditional ABMS platforms implementation, a speedup of up > 100 times is reported by utilizing GPU based computation.

GPU computing provides the opportunity to obtain near supercomputer performance on a desktop computer. The use of GPU computing may provide the computational power to fuel complex systems analysis without the need for high performance computing resources. The scientist will have a virtual supercomputer on their desktop that will provide the computational power needed to drive complex systems research. Our results indicate that our complex models of the human CS can be implemented using GPU based computing with significant gains in performance. The use of such models will allow the creation of rapid and inexpensive virtual laboratories that can be used to generate and test hypotheses. More importantly, simulations provide clinical tools to design and test novel therapeutic strategies, while affording opportunities to predict adverse events during drug development. Future applications of the model include discovery of new mediators, understanding of proximal and distal effects of interactions between systems, discovery of new diagnostic and therapeutic options. Furthermore, we have the potential for developing real-time bed-side simulations that can provide physicians the tools needed to personalize medicine.

Back to Swarmfest2010_program


[Main Page]
Main page
About SwarmWiki
News
Recent changes
Random page
Help

View source
Discuss this page
Page history
What links here
Related changes

Special pages