GPU Accelerated Cardiac Electrophysiology
University of California, San Diego
University of California, San Diego, 2010
@phdthesis{lionetti2010gpu,
title={GPU Accelerated Cardiac Electrophysiology},
author={Lionetti, F.},
year={2010},
school={UNIVERSITY OF CALIFORNIA, SAN DIEGO}
}
Numerical simulations of cellular membranes are useful for both basic science and increasingly for clinical diagnostic and therapeutic applications. A common bottleneck in such simulations arises from solving large highly complex stiff systems of ordinary differential equations (ODEs) thousands of times for numerous collocation points (representing cells) throughout a three-dimensional volume. For some electrophysiology simulations, over 98% of the time is spent solving these systems of ODEs when run in serial on a single core. We have reduced the time to simulate a single heartbeat from 4.5 hours on a 48 core Opteron cluster (MPI implementation) to 12.7 minutes on a Desktop workstation equipped with a $500 GPU accelerator that also economizes power consumption. This improvement over cluster performance transforms the simulation workflow, and at this level of performance we can realize larger scale simulations, previously only feasible on a cluster, that are needed in a clinical setting. To achieve this same performance on our Opteron cluster would theoretically require at least a 1020 core system. Thus, the GPU has effectively miniaturized the hardware requirement to perform the simulation. We also demonstrate 23x to 280x speedups across a wide spectrum of cardiac cell models running on the nVidia GTX-295 GPU compared with a multithread implementation on a 4-core Intel i7 processor. Our simulator employs a source-to-source translator that converts a higher level python description of a cell model into highly tuned and optimized CUDA source code, which is then compiled with the CUDA C compiler for execution. Our optimizations include automatic kernel partitioning and a software managed-memory cache. Our translator also removes numerical singularities introduced by using single precision arithmetic.
March 14, 2011 by hgpu