Skip to main content

A Comprehensive Comparison of GPU Implementations of Cardiac Electrophysiology Models

  • Chapter
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11500))

Abstract

Cardiac disease is the leading cause of death in developed countries, and arrhythmias, which are disorders in the regular generation and propagation of electrical waves that trigger contraction, form a major class of heart diseases. Computational techniques have proved to be useful in the study and understanding of cardiac arrhythmias. However, the computational cost associated with solving cardiac models makes them especially challenging to solve. Traditionally, hardware available on personal computers has been insufficient for such models; instead, supercomputers have been employed to overcome the computational costs of cardiac simulations. However, in recent years substantial advances in the computational power of graphics processing units (GPUs), combined with their modest prices and widespread availability, have made them an attractive alternative to high-performance computing using supercomputers. With greater use of GPUs, however, new challenges have emerged. GPUs must be programmed using their own languages or extensions of other languages, and, at present, there are a number of languages that support general-purpose GPU codes with substantial differences in programming ease and available levels of optimization. In this work, we present the implementation of cardiac models in several major GPU languages without language-specific optimization and compare their performance for different levels of model complexity and domain sizes.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Benjamin, E.J., et al.: Heart disease and stroke statistics-2017 update: a report from the American Heart Association. Circulation 135(10), e146–e603 (2017)

    Article  Google Scholar 

  2. Winfree, A.: Electrical turbulence in three-dimensional heart muscle. Science 266(5187), 1003–1006 (1994)

    Article  Google Scholar 

  3. Gray, R.A., et al.: Mechanisms of cardiac fibrillation. Science 270(5239), 1222–1226 (1995)

    Article  Google Scholar 

  4. Gray, R.A., Pertsov, A.M., Jalife, J.: Spatial and temporal organization during cardiac fibrillation. Nature 392(6671), 75 (1998)

    Article  Google Scholar 

  5. Fenton, F.H., Cherry, E.M., Glass, L.: Cardiac arrhythmia. Scholarpedia 3(7), 1665 (2008)

    Article  Google Scholar 

  6. Kaboudia, A., Cherry, E.M., Fenton, F.H.: Real-time interactive simulations of large-scale systems on personal computers and cell phones. Sci. Adv. 5, eaav6019 (2019)

    Article  Google Scholar 

  7. Zahid, S., et al.: Feasibility of using patient-specific models and the “minimum cut” algorithm to predict optimal ablation targets for left atrial flutter. Heart Rhythm 13(8), 1687–1698 (2016)

    Article  Google Scholar 

  8. Dutta, S., et al.: Optimization of an in silico cardiac cell model for proarrhythmia risk assessment. Front. Physiol. 8, 616 (2017)

    Article  Google Scholar 

  9. Cavero, I., Holzgrefe, H.: CiPA: ongoing testing, future qualification procedures, and pending issues. J. Pharmacol. Toxicol. Methods 76, 27–37 (2015)

    Article  Google Scholar 

  10. Fenton, F.H., Cherry, E.M.: Models of cardiac cell. Scholarpedia 3(8), 1868 (2008)

    Article  Google Scholar 

  11. Fenton, F.H., Cherry, E.M., Hastings, H.M., Evans, S.J.: Real-time computer simulations of excitable media: JAVA as a scientific language and as a wrapper for C and FORTRAN programs. Biosystems 64(1–3), 73–96 (2002)

    Article  Google Scholar 

  12. Barkley, D.: EZ-spiral: a code for simulating spiral waves (2002). https://homepages.warwick.ac.uk/~masax/. Accessed 29 Apr 2019

  13. FitzHugh, R.: Impulses and physiological states in theoretical models of nerve membrane. Biophys. J. 1(6), 445–466 (1961)

    Article  Google Scholar 

  14. Nagumo, J., Arimoto, S., Yoshizawa, S.: An active pulse transmission line simulating nerve axon. Proc. IRE 50(10), 2061–2070 (1962)

    Article  Google Scholar 

  15. Winfree, A.T.: Varieties of spiral wave behavior: an experimentalist’s approach to the theory of excitable media. Chaos Interdiscip. J. Nonlinear Sci. 1(3), 303–334 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  16. Bueno-Orovio, A., Cherry, E.M., Fenton, F.H.: Minimal model for human ventricular action potentials in tissue. J. Theor. Biol. 253(3), 544–560 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  17. Cherry, E.M., Ehrlich, J.R., Nattel, S., Fenton, F.H.: Pulmonary vein reentry–properties and size matter: insights from a computational analysis. Heart Rhythm 4(12), 1553–1562 (2007)

    Article  Google Scholar 

  18. Lombardo, D.M., Fenton, F.H., Narayan, S.M., Rappel, W.-J.: Comparison of detailed and simplified models of human atrial myocytes to recapitulate patient specific properties. PLoS Comput. Biol. 12(8), e1005060 (2016)

    Article  Google Scholar 

  19. Beeler, G.W., Reuter, H.: Reconstruction of the action potential of ventricular myocardial fibres. J. Physiol. 268(1), 177–210 (1977)

    Article  Google Scholar 

  20. Courtemanche, M.: Complex spiral wave dynamics in a spatially distributed ionic model of cardiac electrical activity. Chaos Interdiscip. J. Nonlinear Sci. 6(4), 579–600 (1996)

    Article  Google Scholar 

  21. Courtemanche, M., Winfree, A.T.: Re-entrant rotating waves in a beeler-reuter based model of two-dimensional cardiac electrical activity. Int. J. Bifurc. Chaos 1(02), 431–444 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  22. Hodgkin, A.L., Huxley, A.F.: A quantitative description of membrane current and its application to conduction and excitation in nerve. J. Physiol. 117(4), 500–544 (1952)

    Article  Google Scholar 

  23. Streeter Jr., D.D., Spotnitz, H.M., Patel, D.P., Ross Jr., J., Sonnenblick, E.H.: Fiber orientation in the canine left ventricle during diastole and systole. Circ. Res. 24(3), 339–347 (1969)

    Article  Google Scholar 

  24. Peskin, C.S.: Fiber architecture of the left ventricular wall: an asymptotic analysis. Commun. Pure Appl. Math. 42(1), 79–113 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  25. Ji, Y.C., Fenton, F.H.: Numerical solutions of reaction-diffusion equations: application to neural and cardiac models. Am. J. Phys. 84(8), 626–638 (2016)

    Article  Google Scholar 

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

    Article  Google Scholar 

  27. Halpern, D., Wilson, H.B., Turcotte, L.H.: Advanced Mathematics and Mechanics Applications using MATLAB. Chapman and Hall/CRC, Boca Raton (2002)

    Book  MATH  Google Scholar 

  28. Pozrikidis, C.: Introduction to Finite and Spectral Element Methods Using MATLAB. CRC Press, Boca Raton (2005)

    MATH  Google Scholar 

  29. Quarteroni, A., Saleri, F., Gervasio, P.: Scientific Computing with MATLAB and Octave, vol. 2. Springer, Heidelberg (2006). https://doi.org/10.1007/978-3-642-45367-0

    Book  MATH  Google Scholar 

  30. Strang, G.: Computational Science and Engineering, vol. 791. Wellesley-Cambridge Press, Wellesley (2007)

    MATH  Google Scholar 

  31. Aarnes, J.E., Gimse, T., Lie, K.-A.: An introduction to the numerics of flow in porous media using MATLAB. In: Hasle, G., Lie, K.A., Quak, E. (eds.) Geometric Modelling, Numerical Simulation, and Optimization, pp. 265–306. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-68783-2_9

    Chapter  Google Scholar 

  32. Li, J., Chen, Y.-T.: Computational Partial Differential Equations Using MATLAB. Chapman and Hall/CRC, Boca Raton (2008)

    Google Scholar 

  33. Anderson, D., Tannehill, J.C., Pletcher, R.H.: Computational Fluidmechanics and Heat Transfer. CRC Press, Boca Raton (2016)

    Google Scholar 

  34. Elsherbeni, A.Z. Demir, V.: The finite-difference time-domain method for electromagnetics with MATLAB simulations. The Institution of Engineering and Technology (2016)

    Google Scholar 

  35. Kwon, Y.W., Bang, H.: The Finite Element Method Using MATLAB. CRC Press, Boca Raton (2018)

    MATH  Google Scholar 

  36. Martin, N., Gorelick, S.M.: MOD\_FreeSurf2D: a Matlab surface fluid flow model for rivers and streams. Comput. Geosci. 31(7), 929–946 (2005)

    Article  Google Scholar 

  37. Gholami, A., Bonakdari, H., Zaji, A.H., Akhtari, A.A.: Simulation of open channel bend characteristics using computational fluid dynamics and artificial neural networks. Eng. Appl. Comput. Fluid Mech. 9(1), 355–369 (2015)

    Google Scholar 

  38. Irving, J., Knight, R.: Numerical modeling of ground-penetrating radar in 2-D using MATLAB. Comput. Geosci. 32(9), 1247–1258 (2006)

    Article  Google Scholar 

  39. Tzanis, A., et al.: MATGPR: a freeware MATLAB package for the analysis of common-offset GPR data. In: Geophysical Research Abstracts, vol. 8 (2006)

    Google Scholar 

  40. Xuan, C., Channell, J.E.: UPmag: MATLAB software for viewing and processing u channel or other pass-through paleomagnetic data. Geochem. Geophys. Geosyst. 10(10), 1–12 (2009). https://doi.org/10.1029/2009GC002584

    Article  Google Scholar 

  41. Lesage, P.: Interactive MATLAB software for the analysis of seismic volcanic signals. Comput. Geosci. 35(10), 2137–2144 (2009)

    Article  Google Scholar 

  42. Battaglia, M., Cervelli, P.F., Murray, J.R.: dMODELS: a MATLAB software package for modeling crustal deformation near active faults and volcanic centers. J. Volcanol. Geoth. Res. 254, 1–4 (2013)

    Article  Google Scholar 

  43. Charpentier, I., Sarocchi, D., Sedano, L.A.R.: Particle shape analysis of volcanic clast samples with the MATLAB tool MORPHEO. Comput. Geosci. 51, 172–181 (2013)

    Article  Google Scholar 

  44. Valade, S., Harris, A.J., Cerminara, M.: Plume ascent tracker: interactive MATLAB software for analysis of ascending plumes in image data. Comput. Geosci. 66, 132–144 (2014)

    Article  Google Scholar 

  45. Ofek, E.O.: MATLAB package for astronomy and astrophysics. Astrophysics Source Code Library (2014)

    Google Scholar 

  46. Ahmad, I., Raja, M.A.Z., Bilal, M., Ashraf, F.: Bio-inspired computational heuristics to study lane-emden systems arising in astrophysics model. SpringerPlus 5(1), 1866 (2016)

    Article  Google Scholar 

  47. Loredo, T., Scargle, J.: Time series exploration in Python and MATLAB: unevenly sampled data, parametric modeling, and periodograms. In: AAS/High Energy Astrophysics Division, vol. 17 (2019)

    Google Scholar 

  48. Kamel, N.A., Selman, A.A.-R.: Automatic detection of sunspots size and activity using MATLAB. Iraqi J. Sci. 60(2), 411–425 (2019)

    Google Scholar 

  49. Guo, G.: Electromechanical feed control system in chemical dangerous goods production. Chem. Eng. Trans. 71, 1039–1044 (2018)

    Google Scholar 

  50. Esche, E., Bublitz, S., Tolksdorf, G., Repke, J.-U.: Automatic decomposition of nonlinear equation systems for improved initialization and solution of chemical engineering process models. Comput. Aided Chem. Eng. 44, 1387–1392 (2018)

    Article  Google Scholar 

  51. Fitzpatrick, D., Ley, S.V.: Engineering chemistry for the future of chemical synthesis. Tetrahedron 74(25), 3087–3100 (2018)

    Article  Google Scholar 

  52. Eastep, C.V., Harrell, G.K., McPeak, A.N., Versypt, A.N.F.: A MATLAB app to introduce chemical engineering design concepts to engineering freshmen through a pharmaceutical dosing case study. Chem. Eng. Educ. 53(2), 85 (2019)

    Google Scholar 

  53. Svoboda, T., Kybic, J., Hlavac, V.: Image Processing, Analysis and Machine Vision-A MATLAB Companion. Thomson Learning, Toronto (2007)

    Google Scholar 

  54. Dhawan, A.P.: Medical Image Analysis, vol. 31. Wiley, Hoboken (2011)

    Book  Google Scholar 

  55. Schneider, C.A., Rasband, W.S., Eliceiri, K.W.: NIH image to imagej: 25 years of image analysis. Nat. Methods 9(7), 671 (2012)

    Article  Google Scholar 

  56. Rodríguez-Cristerna, A., Gómez-Flores, W., de Albuquerque-Pereira, W.C.: BUSAT: a MATLAB toolbox for breast ultrasound image analysis. In: Carrasco-Ochoa, J.A., Martínez-Trinidad, J.F., Olvera-López, J.A. (eds.) MCPR 2017. LNCS, vol. 10267, pp. 268–277. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-59226-8_26

    Chapter  Google Scholar 

  57. Cho, J.I., Wang, X., Xu, Y., Sun, J.: LISA: a MATLAB package for longitudinal image sequence analysis. arXiv preprint arXiv:1902.06131 (2019)

  58. Vedaldi, A., Lenc, K.: MatConvNet: convolutional neural networks for MATLAB. In: Proceedings of the 23rd ACM international conference on Multimedia, pp. 689–692. ACM (2015)

    Google Scholar 

  59. Novikov, A., Podoprikhin, D., Osokin, A., Vetrov, D.P.: Tensorizing neural networks. In: Advances in Neural Information Processing Systems, pp. 442–450 (2015)

    Google Scholar 

  60. Vardhana, M., Arunkumar, N., Lasrado, S., Abdulhay, E., Ramirez-Gonzalez, G.: Convolutional neural network for bio-medical image segmentation with hardware acceleration. Cogn. Syst. Res. 50, 10–14 (2018)

    Article  Google Scholar 

  61. Molitor, S.C., Tong, M., Vora, D.: Matlab-based simulation of whole-cell and single-channel currents. J. Undergrad. Neurosci. Educ. 4(2), A74 (2006)

    Google Scholar 

  62. Cardin, J.A., et al.: Driving fast-spiking cells induces gamma rhythm and controls sensory responses. Nature 459(7247), 663 (2009)

    Article  Google Scholar 

  63. Kirkton, R.D., Bursac, N.: Engineering biosynthetic excitable tissues from unexcitable cells for electrophysiological and cell therapy studies. Nat. Commun. 2, 300 (2011)

    Article  Google Scholar 

  64. Kodandaramaiah, S.B., Franzesi, G.T., Chow, B.Y., Boyden, E.S., Forest, C.R.: Automated whole-cell patch-clamp electrophysiology of neurons in vivo. Nat. Methods 9(6), 585 (2012)

    Article  Google Scholar 

  65. Prassl, A.J., et al.: Automatically generated, anatomically accurate meshes for cardiac electrophysiology problems. IEEE Trans. Biomed. Eng. 56(5), 1318–1330 (2009)

    Article  Google Scholar 

  66. O’Hara, T., Virág, L., Varró, A., Rudy, Y.: Simulation of the undiseased human cardiac ventricular action potential: model formulation and experimental validation. PLoS Comput. Biol. 7(5), e1002061 (2011)

    Article  Google Scholar 

  67. Cusimano, N., Bueno-Orovio, A., Turner, I., Burrage, K.: On the order of the fractional laplacian in determining the spatio-temporal evolution of a space-fractional model of cardiac electrophysiology. PLoS ONE 10(12), e0143938 (2015)

    Article  Google Scholar 

  68. Elshrif, M.M., Shi, P., Cherry, E.M.: Representing variability and transmural differences in a model of human heart failure. IEEE J. Biomed. Health Inform. 19(4), 1308–1320 (2015)

    Article  Google Scholar 

  69. Passini, E., et al.: Human in silico drug trials demonstrate higher accuracy than animal models in predicting clinical pro-arrhythmic cardiotoxicity. Front. Physiol. 8, 668 (2017)

    Article  Google Scholar 

  70. Cusimano, N., del Teso, F., Gerardo-Giorda, L., Pagnini, G.: Discretizations of the spectral fractional laplacian on general domains with Dirichlet, Neumann, and Robin boundary conditions. SIAM J. Numer. Anal. 56(3), 1243–1272 (2018)

    Article  MathSciNet  MATH  Google Scholar 

  71. Handa, B.S., et al.: Interventricular differences in action potential duration restitution contribute to dissimilar ventricular rhythms in ex-vivo perfused hearts. Front. Cardiovasc. Med. 6, 34 (2019)

    Article  Google Scholar 

  72. Kraus, J., Schlottke, M., Adinetz, A., Pleiter, D.: Accelerating a C++ CFD code with OpenACC. In: 2014 First Workshop on Accelerator Programming using Directives, pp. 47–54. IEEE (2014)

    Google Scholar 

  73. Blair, S., Albing, C., Grund, A., Jocksch, A.: Accelerating an MPI lattice Boltzmann code using OpenACC. In: Proceedings of the Second Workshop on Accelerator Programming Using Directives, p. 3. ACM (2015)

    Google Scholar 

  74. Huismann, I., Stiller, J., Fröhlich, J.: Two-level parallelization of a fluid mechanics algorithm exploiting hardware heterogeneity. Comput. Fluids 117, 114–124 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  75. Lou, J., Xia, Y., Luo, L., Luo, H., Edwards, J.R., Mueller, F.: OpenACC directive-based GPU acceleration of an implicit reconstructed discontinuous Galerkin method for compressible flows on 3D unstructured grids. In: 54th AIAA Aerospace Sciences Meeting, p. 1815 (2016)

    Google Scholar 

  76. Raj, A., Roy, S., Vydyanathar, N., Sharma, B.: Acceleration of a 3D immersed boundary solver using OpenACC. In: 2018 IEEE 25th International Conference on High Performance Computing Workshops (HiPCW), pp. 65–73. IEEE (2018)

    Google Scholar 

  77. Gallovic, F., Valentova, L., Ampuero, J.-P., Gabriel, A.-A.: Bayesian dynamic finite-fault inversion: 1. Method and synthetic test (2019)

    Google Scholar 

  78. Kan, G., He, X., Ding, L., Li, J., Liang, K., Hong, Y.: A heterogeneous computing accelerated SCE-UA global optimization method using OpenMP, OpenCL, CUDA, and OpenACC. Water Sci. Technol. 76(7), 1640–1651 (2017)

    Article  Google Scholar 

  79. Liu, C., Yang, H., Sun, R., Luan, Z., Qian, D.: SWTVM: exploring the automated compilation for deep learning on Sunway architecture. arXiv preprint arXiv:1904.07404 (2019)

  80. Cavuoti, S., et al.: Astrophysical data mining with GPU. A case study: genetic classification of globular clusters. New Astron. 26, 12–22 (2014)

    Article  Google Scholar 

  81. Rosenberger, S., Haase, G.: Pragma based GPU parallelizations for cardiovascular simulations. In: 2018 International Conference on High Performance Computing and Simulation (HPCS), pp. 1022–1027. IEEE (2018)

    Google Scholar 

  82. Campos, J., Oliveira, R.S., dos Santos, R.W., Rocha, B.M.: Lattice boltzmann method for parallel simulations of cardiac electrophysiology using GPUs. J. Comput. Appl. Math. 295, 70–82 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  83. Canal Noguer, P.: Modeling human atrial electrodynamics and arrhythmias through GPU parallel computing: from cell to tissue. B.S. thesis, Universitat Politècnica de Catalunya (2016)

    Google Scholar 

  84. History and license. https://docs.python.org/3/license.html. Accessed 28 Apr 2019

  85. Fangohr, H.: A comparison of C, MATLAB, and Python as teaching languages in engineering. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2004. LNCS, vol. 3039, pp. 1210–1217. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-25944-2_157

    Chapter  Google Scholar 

  86. Goldwasser, M.H., Letscher, D.: Teaching an object-oriented CS1-: with Python. ACM SIGCSE Bull. 40, 42–46 (2008)

    Article  Google Scholar 

  87. Vallisneri, M., Kanner, J., Williams, R., Weinstein, A., Stephens, B.: The LIGO open science center. J. Phys. Conf. Ser. 610, 012021 (2015)

    Article  Google Scholar 

  88. Rodriguez, C.L., Morscher, M., Pattabiraman, B., Chatterjee, S., Haster, C.-J., Rasio, F.A.: Binary black hole mergers from globular clusters: implications for advanced LIGO. Phys. Rev. Lett. 115(5), 051101 (2015)

    Article  Google Scholar 

  89. Aasi, J., et al.: Advanced LIGO. Class. Quantum Gravity 32(7), 074001 (2015)

    Article  Google Scholar 

  90. Pedregosa, F., et al.: Scikit-learn: machine learning in Python. J. Mach. Learn. Res. 12, 2825–2830 (2011)

    MathSciNet  MATH  Google Scholar 

  91. Raschka, S.: Python Machine Learning. Packt Publishing Ltd., Birmingham (2015)

    Google Scholar 

  92. Goodman, D.F., Brette, R.: Brian: a simulator for spiking neural networks in Python. Front. Neuroinform. 2, 5 (2008)

    Article  Google Scholar 

  93. Yen, D.C., Huang, S.-M., Ku, C.-Y.: The impact and implementation of XML on business-to-business commerce. Comput. Stand. Interfaces 24(4), 347–362 (2002)

    Article  Google Scholar 

  94. Lehmann, G., et al.: Towards dynamic planning and guidance of minimally invasive robotic cardiac bypass surgical procedures. In: Niessen, W.J., Viergever, M.A. (eds.) MICCAI 2001. LNCS, vol. 2208, pp. 368–375. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45468-3_44

    Chapter  Google Scholar 

  95. Lehmann, G., Habets, D., Holdsworth, D.W., Peters, T., Drangova, M.: Simulation of intra-operative 3D coronary angiography for enhanced minimally invasive robotic cardiac intervention. In: Dohi, T., Kikinis, R. (eds.) MICCAI 2002. LNCS, vol. 2489, pp. 268–275. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45787-9_34

    Chapter  MATH  Google Scholar 

  96. Azaouzi, M., Makradi, A., Petit, J., Belouettar, S., Polit, O.: On the numerical investigation of cardiovascular balloon-expandable stent using finite element method. Comput. Mater. Sci. 79, 326–335 (2013)

    Article  Google Scholar 

  97. Herman, W.H., et al.: Early detection and treatment of type 2 diabetes reduce cardiovascular morbidity and mortality: a simulation of the results of the Anglo-Danish-Dutch study of intensive treatment in people with screen-detected diabetes in primary care (addition-Europe). Diabetes Care 38(8), 1449–1455 (2015)

    Article  Google Scholar 

  98. Itani, M.A., et al.: An automated multiscale ensemble simulation approach for vascular blood flow. J. Comput. Sci. 9, 150–155 (2015)

    Article  Google Scholar 

  99. Ramachandra, A.B., Kahn, A.M., Marsden, A.L.: Patient-specific simulations reveal significant differences in mechanical stimuli in venous and arterial coronary grafts. J. Cardiovasc. Transl. Res. 9(4), 279–290 (2016)

    Article  Google Scholar 

  100. Updegrove, A., Wilson, N.M., Merkow, J., Lan, H., Marsden, A.L., Shadden, S.C.: Simvascular: An open source pipeline for cardiovascular simulation. Ann. Biomed. Eng. 45(3), 525–541 (2017)

    Article  Google Scholar 

  101. Kuo, S., Ye, W., Duong, J., Herman, W.H.: Are the favorable cardiovascular outcomes of empagliflozin treatment explained by its effects on multiple cardiometabolic risk factors? A simulation of the results of the EMPA-REG OUTCOME trial. Diabetes Res. Clin. Pract. 141, 181–189 (2018)

    Article  Google Scholar 

  102. Myers, C.R., Sethna, J.P.: Python for education: computational methods for nonlinear systems. Comput. Sci. Eng. 9(3), 75–79 (2007)

    Article  Google Scholar 

  103. Niederer, S.A., et al.: Verification of cardiac tissue electrophysiology simulators using an N-version benchmark. Philos. Trans. R. Soc. A Math. Phys. Eng. Sci. 369(1954), 4331–4351 (2011)

    Article  MathSciNet  Google Scholar 

  104. Burton, R.A., et al.: Optical control of excitation waves in cardiac tissue. Nat. Photonics 9(12), 813 (2015)

    Article  Google Scholar 

  105. Hurtado, D.E., Castro, S., Gizzi, A.: Computational modeling of non-linear diffusion in cardiac electrophysiology: a novel porous-medium approach. Comput. Methods Appl. Mech. Eng. 300, 70–83 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  106. Cherubini, C., Filippi, S., Gizzi, A., Ruiz-Baier, R.: A note on stress-driven anisotropic diffusion and its role in active deformable media. J. Theor. Biol. 430, 221–228 (2017)

    Article  MATH  Google Scholar 

  107. Gizzi, A., et al.: Nonlinear diffusion and thermo-electric coupling in a two-variable model of cardiac action potential. Chaos Interdiscip. J. Nonlinear Sci. 27(9), 093919 (2017)

    Article  MathSciNet  Google Scholar 

  108. Mane, R.S., Cheeran, A., Awandekar, V.D., Rani, P.: Cardiac arrhythmia detection by ECG feature extraction. Int. J. Eng. Res. Appl. 3, 327–332 (2013)

    Google Scholar 

  109. Conferences and workshops. https://www.python.org/community/workshops/. Accessed 28 Apr 2019

  110. Project jupyter. https://jupyter.org/. Accessed 29 Apr 2019

  111. Numpy. https://www.numpy.org/. Accessed 29 Apr 2019

  112. Numba. http://numba.pydata.org/. Accessed 29 Apr 2019

  113. 1.1. a 5 minute guide to Numba. http://numba.pydata.org/numba-doc/latest/user/5minguide.html. Accessed 29 Apr 2019

  114. Abadi, M., et al.: TensorFlow: a system for large-scale machine learning. In: 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2016), pp. 265–283 (2016)

    Google Scholar 

  115. Girija, S.S.: TensorFlow: large-scale machine learning on heterogeneous distributed systems (2016). Software tensorflow.org

  116. Google just open sourced TensorFlow, its artificial intelligence engine. https://www.wired.com/2015/11/google-open-sources-its-artificial-intelligence-engine/. Accessed 29 Apr 2019

  117. Case studies and mentions. https://www.tensorflow.org/about/case-studies/. Accessed 29 Apr 2019

  118. Cheng, H.-T., et al.: Wide & deep learning for recommender systems. In: Proceedings of the 1st Workshop on Deep Learning for Recommender Systems, pp. 7–10. ACM (2016)

    Google Scholar 

  119. Lieman-Sifry, J., Le, M., Lau, F., Sall, S., Golden, D.: FastVentricle: cardiac segmentation with ENet. In: Pop, M., Wright, G.A. (eds.) FIMH 2017. LNCS, vol. 10263, pp. 127–138. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-59448-4_13

    Chapter  Google Scholar 

  120. Warrick, P., Homsi, M.N.: Cardiac arrhythmia detection from ECG combining convolutional and long short-term memory networks. In: 2017 Computing in Cardiology (CinC), pp. 1–4. IEEE (2017)

    Google Scholar 

  121. Biswas, S., Aggarwal, H.K., Poddar, S., Jacob, M.: Model-based free-breathing cardiac MRI reconstruction using deep learned & storm priors: MoDL-storm. In: 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 6533–6537. IEEE (2018)

    Google Scholar 

  122. Kamaleswaran, R., Mahajan, R., Akbilgic, O.: A robust deep convolutional neural network for the classification of abnormal cardiac rhythm using single lead electrocardiograms of variable length. Physiol. Meas. 39(3), 035006 (2018)

    Article  Google Scholar 

  123. Iravanian, S.: fib-tf: a TensorFlow-based cardiac electrophysiology simulator. J. Open Source Softw. 3(26), 719 (2018)

    Article  Google Scholar 

  124. Kang, S.-H., Joe, B., Yoon, Y., Cho, G.-Y., Shin, I., Suh, J.-W.: Cardiac auscultation using smartphones: pilot study. JMIR mHealth uHealth 6(2), e49 (2018)

    Article  Google Scholar 

  125. Savalia, S., Emamian, V.: Cardiac arrhythmia classification by multi-layer perceptron and convolution neural networks. Bioengineering 5(2), 35 (2018)

    Article  Google Scholar 

  126. Teplitzky, B.A., McRoberts, M.: Fully-automated ventricular ectopic beat classification for use with mobile cardiac telemetry. In: 2018 IEEE 15th International Conference on Wearable and Implantable Body Sensor Networks (BSN), pp. 58–61. IEEE (2018)

    Google Scholar 

  127. Bello, G.A., et al.: Deep-learning cardiac motion analysis for human survival prediction. Nat. Mach. Intell. 1(2), 95 (2019)

    Article  MathSciNet  Google Scholar 

  128. WebGL overview. https://www.khronos.org/webgl/. Accessed 29 Apr 2019

  129. OpenGL shading language. https://www.khronos.org/opengl/wiki/OpenGL_Shading_Language. Accessed 29 Apr 2019

  130. WebGL 2.0 API quick reference guide. https://www.khronos.org/files/webgl20-reference-guide.pdf. Accessed 29 Apr 2019

  131. Owens, J.D., et al.: A survey of general-purpose computation on graphics hardware. Comput. Graph. Forum 26–1, 80–113 (2007)

    Article  Google Scholar 

  132. Kaboudian, A., Cherry, E.M., Fenton, F.H.: Large-scale interactive numerical experiments of chaos, solitons and fractals in real time via GPU in a web browser. Chaos Solitons Fractals 121, 6–29 (2019)

    Article  MathSciNet  Google Scholar 

  133. Jacobsen, D., Thibault, J., Senocak, I.: An MPI-CUDA implementation for massively parallel incompressible flow computations on multi-GPU clusters. In: 48th AIAA Aerospace Sciences Meeting Including the New Horizons Forum and Aerospace Exposition, p. 522 (2010)

    Google Scholar 

  134. Ladický, L., Jeong, S., Solenthaler, B., Pollefeys, M., Gross, M.: Data-driven fluid simulations using regression forests. ACM Trans. Graph. 34(6), 1–9 (2015)

    Article  Google Scholar 

  135. Jang, H., Park, A., Jung, K.: Neural network implementation using CUDA and OpenMP. In: 2008 Digital Image Computing: Techniques and Applications, pp. 155–161. IEEE (2008)

    Google Scholar 

  136. Nageswaran, J.M., Dutt, N., Krichmar, J.L., Nicolau, A., Veidenbaum, A.V.: A configurable simulation environment for the efficient simulation of large-scale spiking neural networks on graphics processors. Neural Netw. 22(5–6), 791–800 (2009)

    Article  Google Scholar 

  137. Sierra-Canto, K., Madera-Ramirez, F., Uc-Cetina, V.: Parallel training of a back-propagation neural network using CUDA. In: 2010 Ninth International Conference on Machine Learning and Applications, pp. 307–312. IEEE (2010)

    Google Scholar 

  138. Ciresan, D.C., Meier, U., Masci, J., Gambardella, L.M., Schmidhuber, J.: Flexible, high performance convolutional neural networks for image classification. In: Twenty-Second International Joint Conference on Artificial Intelligence (2011)

    Google Scholar 

  139. Nylons, L.: Fast n-body simulation with CUDA (2007)

    Google Scholar 

  140. Belleman, R.G., Bédorf, J., Zwart, S.F.P.: High performance direct gravitational n-body simulations on graphics processing units II: an implementation in cuda. New Astron. 13(2), 103–112 (2008)

    Article  Google Scholar 

  141. Glinskiy, B.M., Kulikov, I.M., Snytnikov, A.V., Romanenko, A.A., Chernykh, I.G., Vshivkov, V.A.: Co-design of parallel numerical methods for plasma physics and astrophysics. Supercomput. Front. Innov. 1(3), 88–98 (2015)

    Google Scholar 

  142. Hamada, T., Narumi, T., Yokota, R., Yasuoka, K., Nitadori, K., Taiji, M.: 42 TFlops hierarchical N-body simulations on GPUs with applications in both astrophysics and turbulence. In: Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis, pp. 1–12. IEEE (2009)

    Google Scholar 

  143. Obrecht, C., Kuznik, F., Tourancheau, B., Roux, J.-J.: A new approach to the lattice Boltzmann method for graphics processing units. Comput. Math. Appl. 61(12), 3628–3638 (2011)

    Article  MATH  Google Scholar 

  144. Rinaldi, P.R., Dari, E., Vénere, M.J., Clausse, A.: A lattice-Boltzmann solver for 3D fluid simulation on GPU. Simul. Model. Pract. Theory 25, 163–171 (2012)

    Article  Google Scholar 

  145. Obrecht, C., Kuznik, F., Tourancheau, B., Roux, J.-J.: Scalable lattice Boltzmann solvers for cuda GPU clusters. Parallel Comput. 39(6–7), 259–270 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  146. Anderson, J.A., Lorenz, C.D., Travesset, A.: General purpose molecular dynamics simulations fully implemented on graphics processing units. J. Comput. Phys. 227(10), 5342–5359 (2008)

    Article  MATH  Google Scholar 

  147. Liu, W., Schmidt, B., Voss, G., Müller-Wittig, W.: Accelerating molecular dynamics simulations using graphics processing units with CUDA. Comput. Phys. Commun. 179(9), 634–641 (2008)

    Article  Google Scholar 

  148. Stone, J.E., Vandivort, K.L., Schulten, K.: GPU-accelerated molecular visualization on petascale supercomputing platforms, pp. 1–8 (2013)

    Google Scholar 

  149. Reichl, T., Passenger, J., Acosta, O., Salvado, O.: Ultrasound goes GPU: real-time simulation using CUDA. In: Medical Imaging 2009: Visualization, Image-Guided Procedures, and Modeling, vol. 7261, p. 726116, International Society for Optics and Photonics (2009)

    Google Scholar 

  150. Alsmirat, M.A., Jararweh, Y., Al-Ayyoub, M., Shehab, M.A., Gupta, B.B.: Accelerating compute intensive medical imaging segmentation algorithms using hybrid CPU-GPU implementations. Multimedia Tools Appl. 76(3), 3537–3555 (2017)

    Article  Google Scholar 

  151. Dawes, T.J.W., et al.: Machine learning of three-dimensional right ventricular motion enables outcome prediction in pulmonary hypertension: a cardiac MR Imaging Study. Radiology 283(2), 161315 (2017)

    Article  MathSciNet  Google Scholar 

  152. Bartocci, E., Cherry, E.M., Glimm, J., Grosu, R., Smolka, S.A., Fenton, F.H.: Toward real-time simulation of cardiac dynamics. In: Proceedings of the 9th International Conference on Computational Methods in Systems Biology, pp. 103–112. ACM (2011)

    Google Scholar 

  153. Berg, S., Luther, S., Parlitz, U.: Synchronization based system identification of an extended excitable system. Chaos 21(3), 033104 (2011)

    Article  MATH  Google Scholar 

  154. Sato, D., Xie, Y., Weiss, J.N., Qu, Z., Garfinkel, A., Sanderson, A.R.: Acceleration of cardiac tissue simulation with graphic processing units. Med. Biol. Eng. Comput. 47(9), 1011–1015 (2009)

    Article  Google Scholar 

  155. Landoni, M., Genoni, M., Riva, M., Bianco, A., Corina, A.: Application of cloud computing in astrophysics: the case of Amazon web services. In: Software and Cyberinfrastructure for Astronomy V, vol. 10707, p. 107070G. International Society for Optics and Photonics (2018)

    Google Scholar 

  156. Bartocci, E., et al.: Teaching cardiac electrophysiology modeling to undergraduate students: laboratory exercises and GPU programming for the study of arrhythmias and spiral wave dynamics. Adv. Physiol. Educ. 35(4), 427–437 (2011)

    Article  Google Scholar 

  157. Fallis, A.: CUDA by example, vol. 53 (2013)

    Google Scholar 

  158. NVIDIA: NVIDIA CUDA C Programming Guide Version 4.2, p. 173 (2012)

    Google Scholar 

Download references

Acknowledgements

This work was supported in part by the National Science Foundation under grants CNS-1446312(EMC) and by CMMI-1762553 (FHF and AK). EMC, AK, YS, and FHF, also collaborated while at Kavli Institute for Theoretical Physics (KITP) and thus research was also supported in part by NSF Grant No. PHY-1748958, NIH Grant No. R25GM067110, and the Gordon and Betty Moore Foundation Grant No. 2919.01.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Abouzar Kaboudian .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Kaboudian, A., Velasco-Perez, H.A., Iravanian, S., Shiferaw, Y., Cherry, E.M., Fenton, F.H. (2019). A Comprehensive Comparison of GPU Implementations of Cardiac Electrophysiology Models. In: Bartocci, E., Cleaveland, R., Grosu, R., Sokolsky, O. (eds) From Reactive Systems to Cyber-Physical Systems. Lecture Notes in Computer Science(), vol 11500. Springer, Cham. https://doi.org/10.1007/978-3-030-31514-6_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-31514-6_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-31513-9

  • Online ISBN: 978-3-030-31514-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics