130 likes | 783 Views
Dog Heart. Human Heart. Heart Problems. Atrial fibrillation Atrial flutter Atrial tachycardia AV nodal reentrant tachycardia AV reentrant tachycardia Bigemin Premature ventricular contraction Ventricular tachycardia Ventricular fibrillation Bundle branch black Heart block.
E N D
Dog Heart Human Heart Heart Problems Atrial fibrillation Atrial flutter Atrial tachycardia AV nodal reentrant tachycardia AV reentrant tachycardia Bigemin Premature ventricular contraction Ventricular tachycardia Ventricular fibrillation Bundle branch black Heart block Mesh with millions of nodes for good spacial resolution
Bidomain Reaction GPU CUBLAS Diffusion CNC
Reaction Phase Mesh Nodes GPU Threads • 33 state + 1 voltage + 1 current variables / node update per time step • Transmembrane voltage (Vm) and current (Itot) output for diffusion phase
Interfacing With ThirdpartyTools • CUBLAS for vector operations • Conjugate Gradient (CG) handled by CNC • OpenNL Sparse Matrix interface with CNC ELL support • Exposed Sparse Matrix Vector Multiply in CNC
Results Time Step 0 ms Time Step 40 ms 8000iterations
Limitations: Large number of registers needed per thread per calculation Frequent use of slow math functions Limited data storage per thread Size of the Laplacian matrices, 32K nodes equals about a 4GB matrix Loss of precision and numerical stability by using single precision floating point numbers Solutions: Tesla architecture with more registers Hardware math functions at a cost of precision MPI to better distribute data load Using libraries for sparse matrix support, compress 32K x 32K matrix to 16 MB storage
Related Work • Carp (MPI, PETSc) • Rabbit model: • 50 ms activity, timestep 20 μs, 425,000 nodes • run time: 3316 seconds • Mouse, rabbit model, GPU and GPU/MPI hybrid version: • membrane current computation , time step 25 μs, 10e4 - 10e6 nodes • run time: 104 - 105 seconds • CHASTE(MPI,PETSc) • Rabbit model: • 30 ms of activity, 3 million nodes • run time: 13 hours • Potse, Dubé, Vinet, Cardinal (OpenMP) • Human model: • 600 ms activity, time step 10 μs, 55 million nodes • run time: 2 days