19
GPU Accelerated Solvers for ODEs Describing Cardiac Membrane Equations Fred Lionetti @ CSE Andrew McCulloch @ Bioeng Scott Baden @ CSE University of California, San Diego

GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

GPU Accelerated Solvers for

ODEs Describing Cardiac

Membrane EquationsFred Lionetti @ CSE

Andrew McCulloch @ Bioeng

Scott Baden @ CSE

University of California, San Diego

Page 2: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

2

What is heart modeling?• Bioengineer authors a mathematical model to describe certain

aspects of the heart’s behavior

• Develop and perform computer simulation of mathematical model

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 3: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

3

Why do heart modeling?

• Heart disease is the leading cause of death

• Basic Science

– There still quite a bit about the heart we don’t

understand

• Clinical and therapeutic applications

– Targeting ablation therapy for atrial arrhythmias

– Defibrillator design

– Cardiac resynchronization therapy (CRT)

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 4: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

4

How do we do heart modeling?

• Finite Elements Method

– Discretizing a continuous domain into a set of discrete sub-domains.

– Useful for bridges, airplanes, buildings, and even hearts

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 5: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

5

What kind of heart modeling

simulations can we perform?

• Biomechanics • Electrophysiology

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 6: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

6

What are the bottlenecks?

• ODEs = 98.7%

• PDEs = 1.3%ventricleswhole cell

3-D mono- or

bidomain finite

element model

(pdes)

Whole cell

ionic model

(odes)

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 7: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

7

How can we optimize our ODEs?

• Multithreaded OpenMP?

• MPI Cluster?

• GPU?

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 8: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

8

What about the GPU?

• Benefits

– ODEs have thousands or even millions of

data parallel threads

– nVidia GPUs have peak GFLOP rates that are

1 to 2 orders of magnitude higher than a quad

core processor

– CUDA provides straightforward

implementation

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 9: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

9

CUDA Acceleration Challenges

• Performance– Memory access

– Thread Divergence

• Accuracy– Precision

– CUDA math library

• CUDA Code Generation

• CUDA ODE solver– Too stiff for Forward Euler or Explicit Runge-Kutta

• Capture processes on a wider range of time scales

• Stiff if step size required for stability << required for accuracy

– Simplified Single Iteration Backwards Euler solver

– Adaptive solvers lead to thread divergence

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 10: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

10

The precision problem

• Singularities at magic numbers

– Nothing biologically significant about these numbers

• Must identify these problems and correct them

– Reformulate equation

– Add a workaround

1

1lim

0v

v e

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

1voltagee

ba

Page 11: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

11

The Flaim Cell Model

• Developed by Sarah Flaim in 2006

• 87 ODEs

• Dog heart

Page 12: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

12

Conventional Acceleration of

the Flaim Model• Desktop (assembled in 2009)

– Intel i7 quad core processor at 2.93GHz with 12 GB ram

– OpenMP

• Cluster (assembled in 2007)

– AMD Opteron 2216 dual core processors 2.4 GHz

– Each of the 66 compute nodes has 4 cores, 4 GB of RAM.

– MPIParallel CPU Performance

10000

100000

1000000

0 10 20 30 40 50 60

Threads

Ru

nti

me (

s)

Cluster

OpenMP

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 13: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

13

GPU Acceleration of

the Flaim Model• nVidia GTX 295

• Approximately 1 beat (300ms)

• Speedup Over OpenMP: 31x

– 5.5 hours → 7.7 minutes

• Speedup Over Cluster: 23x

– 3 hours → 7.7 minutes

• Singe Precision Error: 0.85%

• Excellent GPU Occupancy

– 8 blocks of 64 threads

Flaim ODE Performance

19841.1

10537.2

464

0

5000

10000

15000

20000

25000

OpenMP (8 threads) Cluster (48 procs) GPU

Tim

e (

s)

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 14: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

14

Electrophysiology Bottleneck

OpenMP Profile

ODEs

97%

PDEs

3%

ODEs on GPU Profile

ODEs

41%

PDEs

59%

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 15: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

15

Cell Model Results

Year ODEs

Registers

and local

memory

(words)

Speedup

over

OpenMP

Runtime

CUDA (s)

Runtime

OpenMP (s) % Error

FitzHugh-

Nagumo 1961 2 16/0 21.9x 7.8 171 0.06%

Beeler-Reuter 1977 8 32/0 172.2x 16.2 2789.1 2.23%

Puglisi 2001 18 32/60 63.7x 101.4 6461.1 1.34%

Flaim 2006 87 32/392 31.3x 462 14446.2 0.85%

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 16: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

16

Conclusions

• Single precision must be handled

carefully, but is acceptable for many

applications

• Maintaining high occupancy can be very

important

• Went against some conventional wisdom

– Spilling to local memory not so bad

– Shared memory limited

Page 17: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

17

The Future

• GPU is changing the way we think about heart

modeling

– A simulation that took 3 hours on our cluster can now be

performed in ~7 minutes on a desktop!

– Larger problems are now feasible

– Essential component in hospital of the future?

• Patient specific modeling

• Much broader “parameter sweeps” now feasible

• Interactive (e.g. real time) simulations are within reach for small

problems

• Save lives

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 18: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

18

Acknowledgements

• Stuart Campbell for the discussions on

ODE Solvers

• Jazmin Aguado-Sierra for supplying the

sample Electrophysiology model.

• Simula Research Lab

• National Biomedical Computational

Resource (NIH grant P41RR08605) for the

support of this work

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09

Page 19: GPU Accelerated Solvers for ODEs Describing Cardiac ... · GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09. 3 Why do heart modeling? •Heart disease

19

Questions?

GPU Accelerated Cardiac ODEs - Fred Lionetti - GPU Technology Conference '09