Abstract
In silico experiments have been used for a better understanding of the electrical activity of cardiac myocytes, usually via models based on nonlinear systems of ordinary differential equations. Many different models for cardiac myocytes are available that vary on the level of complexity, depending on how detailed the phenomena is described. Long simulations of realistic and complex models are computationally expensive. To cope with this problem, this work compares different techniques to automatically speed up the numerical solution of cardiac models: (a) adaptive time step method, (b) Partial Evaluation (PE) and Lookup Tables (LUTs), and (c) an automatic way to find and exploit code concurrency via OpenMP directives. All the techniques were implemented as part of an automatic code generator for the numerical solution of models that are described in the CellML markup language. Experimental results demonstrated that the adaptive time step simulations were up to 32 times faster than the traditional Euler that use fixed time step. Combined with parallel computing on a multicore processor the execution time was further decreased and simulations were 41 times faster. Finally, the LUTs and PE techniques resulted in a 117-fold improvement in computation time over the Euler method and 72-fold improvement when compared to the traditional Rush–Larsen method.
Similar content being viewed by others
Notes
Available in https://computation.llnl.gov/casc/sundials/main.html.
References
Pycml—cellml tools in python (2011). https://chaste.comlab.ox.ac.uk/cellml/
Sundials (2011). https://computation.llnl.gov/casc/sundials/main.html
W3c math home (2011). http://www.w3.org/Math/
Barbosa CB, Santos RW, Amorim R, Ciuffo LN, Manfroi F, Oliveira RS, Campos FO (2006) A transformation tool for ODE based models. Lecture Notes Comput Sci 3991:69–75
Bondarenko VE, Szigeti GP, Bett GCL, Kim SJ, Rasmusson RL (2004) A computer model of the action potential of the mouse ventricular myocytes. Am J Physiol 287:H1378–H1403
Campos RS, Amorim RM, Costa CM, de Oliveira BL, de Barros Barbosa C, Sundnes J, dos Santos RW (2009) Approaching cardiac modeling challenges to computer science with CellML-based web tools. Future Gener Comput Syst 26(3):462470
Campos RS, Lobosco M, dos Santos RW (2011) Adaptive time step for cardiac myocyte models. Proceedings of the International Conference on Computational Science, ICCS. Procedia Computer Science 4:1092–1100. doi:10.1016/j.procs.2011.04.116
Chandra R, Dagum L, Kohr D, McDonald DMJ, Menon R (2001) Parallel programming in OpenMP. Morgan Kaufmann Publishers, Burlington
Cohen SD, Hindmarsh AC (1996) CVODE, a stiff/nonstiff ODE solver in C. Comput Phys 10(2): 138–143
Cooper J, McKeever S, Garny A (2006) On the application of partial evaluation to the optimisation of cardiac electrophysiological simulations. Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, p 1220. doi:10.1145/1111542.1111546
Cooper JP (2009) Automatic validation and optimisation of biological models. Ph.D. thesis, Oxford University. http://ora.ouls.ox.ac.uk/objects/uuid:24b96d62-b47c-458d-9dff-79b27dbdc9f2
Cormen TH, Leiserson CE, Rivest RL, Stein C (2001) Introduction to algorithms, 2nd edn. The MIT Press, Cambridge
Garny A, Kohl P, Hunter PJ, Boyett MR, Noble D (2003) One-dimensional rabbit sinoatrial node models: benefits and limitations. J Cardiovasc Electrophysiol 14:S121–S132
Garny A, Nickerson DP, Cooper J, dos Santos RW, Miller AK, McKeever S, Nielsen, PMF, Hunter PJ (2008) Cellml and associated tools and techniques. Philos Trans Roy Soc A 366:3017–3043. doi:10.1098/rsta.2008.0094
Geselowitz D, Miller W (1983) A bidomain model for anisotropic cardiac muscle. Ann Biomed Eng 11(3–4):191–206
Hodgkin A, Huxley A (1952) A quantitative description of membrane current and its application to conduction and excitation in nerve. J Physiol 117:500–544
Luo CH, Rudy Y (1991) A model of the ventricular cardiac action potential: depolarization, repolarization, and their interaction. Circ Res 68(6):1501–1526. doi:10.1161/01.RES.68.6.1501
Martins D, Campos FO, Ciuffo LN, Oliveira RS, Amorim RM, Fonseca Vieira V, Ebecken NFF, de Barros Barbosa C, dos Santos RW (2007) A computational framework for cardiac modeling based on distributed computing and web applications. Lecture Notes Comput Sci 4395:544–555
Mattson TG, Sanders BA, Massingill BL (2005) Patterns for parallel programming. Pearson Education, USA
Noble D, Varghese A, Kohl P, Noble P (1998) Improved guinea-pig ventricular cell model incorporating a diadic space, IKr and IKs, and length- and tension-dependent processes. J Cardiol 14:123–134
Rush S, Larsen H (1978) A practical algorithm for solving dynamic membrane equations. IEEE Trans Biomed Eng 25(4):389–392
Spiteri R, Dean R (2008) On the performance of an implicit–explicit Runge–Kutta method in models of cardiac electrical activity. IEEE Trans Biomed Eng 55(5):1488–1495
Sundnes J, Artebrant R, Skavhaug O, Tveito A (2009) A second-order algorithm for solving dynamic cell membrane equations. IEEE Trans Biomed Eng 56(10):2546–2548. doi:10.1109/TBME.2009.2014739
Sundnes J, Lines GT, Tveito A (2001) Efficient solution of ordinary differential equations modeling electrical activity in cardiac cells. Math Biosci 172(2):55–72. doi:10.1016/S0025-5564(01)00069-4
Szafaryn LG, Skadron K, Saucerman JJ (2009) Experiences accelerating matlab systems biology applications. In: Proceedings of the workshop on biomedicine in computing: systems, architectures, and circuits (BiC), in conjunction with the 36th IEEE/ACM international symposium on computer architecture (ISCA)
Tung L (1978) A bi-domain model for describing ischemic myocardial d-c potentials. Ph.D. thesis, MIT, Cambridge, Mass
ten Tusscher KHWJ, Panfilov AV (2006) Alternans and spiral breakup in a human ventricular tissue model. Am J Physiol Heart Circ Physiol 291(3):H1088–1100
Vigmond EJ, Hughes M, Plank G, Leon LJ (2003) Computational tools for modeling electrical activity in cardiac tissue. J Electrocardiol 36:69–74
W3C: Document object model (DOM) (2012). http://www.w3.org/DOM/
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Campos, R.S., Campos, F.O., Gomes, J.M. et al. Comparing high performance techniques for the automatic generation of efficient solvers of cardiac cell models. Computing 95 (Suppl 1), 639–660 (2013). https://doi.org/10.1007/s00607-012-0268-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-012-0268-y
Keywords
- Cardiac electrophysiology
- Cardiac modeling
- Parallel programming
- Numerical methods
- Automatic code generation
- CellML