GPU Load Balancing Using Sparse Cartesian Grids: Making Interactive WebGL Simulations of Complex Ionic Models Even Faster on 3D Heart Structures

Abouzar Kaboudian1, Elizabeth Cherry2, Flavio Fenton2
1US Food and Drug Administration, 2Georgia Institute of Technology


Abstract

Cardiac modeling in heart structures to study arrhythmia mechanisms has required running software on supercomputers, limiting such studies to groups with cluster access and skilled personnel. Previously, we demonstrated the capabilities of running WebGL programs to simulate and display intricate ionic models in both 2D and 3D cardiac geometries. These simulations were performed in real-time, and users could interact with them using the multi-core GPU of a single computer. In this work, by using sparse Cartesian grids, we present how we can balance the load on the GPU, conserve GPU memory, avoid unnecessary read and write to sparse locations of textures, and, most importantly, speed up 3D simulations of complex ionic models by up to a factor of 10.

Furthermore, we will present how using a mapping technique, we can compress the sparse data structures into a compact data structure. This simple mapping technique, in addition to pre-calculation of finite-difference neighbor locations with the aid of integer packing and unpacking techniques, allows us to access texture memory most efficiently using only compact structures during time-stepping steps of the computation.

As examples of this modeling platform, we will present the implementation of phenomenological models for 3D atrial and ventricular simulations. Additionally, we will present the 41-state-variable OVVR human ventricular cell model on 3D ventricular human anatomical structures. Using these programs, we will show how our programs can be used to initiate and terminate scroll waves in 3D interactively.