Skip to main content
Log in

Comparing high performance techniques for the automatic generation of efficient solvers of cardiac cell models

  • Published:
Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Notes

  1. Available in https://computation.llnl.gov/casc/sundials/main.html.

References

  1. Pycml—cellml tools in python (2011). https://chaste.comlab.ox.ac.uk/cellml/

  2. Sundials (2011). https://computation.llnl.gov/casc/sundials/main.html

  3. W3c math home (2011). http://www.w3.org/Math/

  4. 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

    Google Scholar 

  5. 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

    Google Scholar 

  6. 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

    Google Scholar 

  7. 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

  8. Chandra R, Dagum L, Kohr D, McDonald DMJ, Menon R (2001) Parallel programming in OpenMP. Morgan Kaufmann Publishers, Burlington

    Google Scholar 

  9. Cohen SD, Hindmarsh AC (1996) CVODE, a stiff/nonstiff ODE solver in C. Comput Phys 10(2): 138–143

    Google Scholar 

  10. 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

  11. 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

  12. Cormen TH, Leiserson CE, Rivest RL, Stein C (2001) Introduction to algorithms, 2nd edn. The MIT Press, Cambridge

    MATH  Google Scholar 

  13. 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

    Article  Google Scholar 

  14. 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

    Google Scholar 

  15. Geselowitz D, Miller W (1983) A bidomain model for anisotropic cardiac muscle. Ann Biomed Eng 11(3–4):191–206

    Article  Google Scholar 

  16. 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

    Google Scholar 

  17. 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

    Google Scholar 

  18. 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

    Article  Google Scholar 

  19. Mattson TG, Sanders BA, Massingill BL (2005) Patterns for parallel programming. Pearson Education, USA

    Google Scholar 

  20. 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

    Google Scholar 

  21. Rush S, Larsen H (1978) A practical algorithm for solving dynamic membrane equations. IEEE Trans Biomed Eng 25(4):389–392

    Article  Google Scholar 

  22. 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

    Article  Google Scholar 

  23. 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

    Article  Google Scholar 

  24. 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

    Google Scholar 

  25. 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)

  26. Tung L (1978) A bi-domain model for describing ischemic myocardial d-c potentials. Ph.D. thesis, MIT, Cambridge, Mass

  27. 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

    Article  Google Scholar 

  28. Vigmond EJ, Hughes M, Plank G, Leon LJ (2003) Computational tools for modeling electrical activity in cardiac tissue. J Electrocardiol 36:69–74

    Article  Google Scholar 

  29. W3C: Document object model (DOM) (2012). http://www.w3.org/DOM/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rodrigo Weber dos Santos.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-012-0268-y

Keywords

Mathematics Subject Classification

Navigation