A Comprehensive Comparison of GPU Implementations of Cardiac Electrophysiology Models
- 1 Citations
- 267 Downloads
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.
Keywords
Cardiac electrophysiology GPU MATLAB OpenACC Python Numba TensorFlow WebGL Abubu.js NVIDIA CUDANotes
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.
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)CrossRefGoogle Scholar
- 2.Winfree, A.: Electrical turbulence in three-dimensional heart muscle. Science 266(5187), 1003–1006 (1994)CrossRefGoogle Scholar
- 3.Gray, R.A., et al.: Mechanisms of cardiac fibrillation. Science 270(5239), 1222–1226 (1995)CrossRefGoogle Scholar
- 4.Gray, R.A., Pertsov, A.M., Jalife, J.: Spatial and temporal organization during cardiac fibrillation. Nature 392(6671), 75 (1998)CrossRefGoogle Scholar
- 5.Fenton, F.H., Cherry, E.M., Glass, L.: Cardiac arrhythmia. Scholarpedia 3(7), 1665 (2008)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
- 8.Dutta, S., et al.: Optimization of an in silico cardiac cell model for proarrhythmia risk assessment. Front. Physiol. 8, 616 (2017)CrossRefGoogle Scholar
- 9.Cavero, I., Holzgrefe, H.: CiPA: ongoing testing, future qualification procedures, and pending issues. J. Pharmacol. Toxicol. Methods 76, 27–37 (2015)CrossRefGoogle Scholar
- 10.Fenton, F.H., Cherry, E.M.: Models of cardiac cell. Scholarpedia 3(8), 1868 (2008)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
- 14.Nagumo, J., Arimoto, S., Yoshizawa, S.: An active pulse transmission line simulating nerve axon. Proc. IRE 50(10), 2061–2070 (1962)CrossRefGoogle 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)MathSciNetzbMATHCrossRefGoogle 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)MathSciNetzbMATHCrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
- 19.Beeler, G.W., Reuter, H.: Reconstruction of the action potential of ventricular myocardial fibres. J. Physiol. 268(1), 177–210 (1977)CrossRefGoogle 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)CrossRefGoogle 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)MathSciNetzbMATHCrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
- 24.Peskin, C.S.: Fiber architecture of the left ventricular wall: an asymptotic analysis. Commun. Pure Appl. Math. 42(1), 79–113 (1989)MathSciNetzbMATHCrossRefGoogle 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)CrossRefGoogle Scholar
- 26.Rush, S., Larsen, H.: A practical algorithm for solving dynamic membrane equations. IEEE Trans. Biomed. Eng. 4, 389–392 (1978)CrossRefGoogle Scholar
- 27.Halpern, D., Wilson, H.B., Turcotte, L.H.: Advanced Mathematics and Mechanics Applications using MATLAB. Chapman and Hall/CRC, Boca Raton (2002)zbMATHCrossRefGoogle Scholar
- 28.Pozrikidis, C.: Introduction to Finite and Spectral Element Methods Using MATLAB. CRC Press, Boca Raton (2005)zbMATHGoogle 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-0CrossRefzbMATHGoogle Scholar
- 30.Strang, G.: Computational Science and Engineering, vol. 791. Wellesley-Cambridge Press, Wellesley (2007)zbMATHGoogle 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_9CrossRefGoogle 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)zbMATHGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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 CrossRefGoogle Scholar
- 41.Lesage, P.: Interactive MATLAB software for the analysis of seismic volcanic signals. Comput. Geosci. 35(10), 2137–2144 (2009)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
- 51.Fitzpatrick, D., Ley, S.V.: Engineering chemistry for the future of chemical synthesis. Tetrahedron 74(25), 3087–3100 (2018)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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_26CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)MathSciNetzbMATHCrossRefGoogle 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)CrossRefGoogle 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)MathSciNetzbMATHCrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)MathSciNetzbMATHCrossRefGoogle 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_157CrossRefGoogle Scholar
- 86.Goldwasser, M.H., Letscher, D.: Teaching an object-oriented CS1-: with Python. ACM SIGCSE Bull. 40, 42–46 (2008)CrossRefGoogle Scholar
- 87.Vallisneri, M., Kanner, J., Williams, R., Weinstein, A., Stephens, B.: The LIGO open science center. J. Phys. Conf. Ser. 610, 012021 (2015)CrossRefGoogle 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)CrossRefGoogle Scholar
- 89.Aasi, J., et al.: Advanced LIGO. Class. Quantum Gravity 32(7), 074001 (2015)CrossRefGoogle Scholar
- 90.Pedregosa, F., et al.: Scikit-learn: machine learning in Python. J. Mach. Learn. Res. 12, 2825–2830 (2011)MathSciNetzbMATHGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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_44CrossRefGoogle 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_34CrossRefzbMATHGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
- 98.Itani, M.A., et al.: An automated multiscale ensemble simulation approach for vascular blood flow. J. Comput. Sci. 9, 150–155 (2015)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
- 102.Myers, C.R., Sethna, J.P.: Python for education: computational methods for nonlinear systems. Comput. Sci. Eng. 9(3), 75–79 (2007)CrossRefGoogle 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)MathSciNetCrossRefGoogle Scholar
- 104.Burton, R.A., et al.: Optical control of excitation waves in cardiac tissue. Nat. Photonics 9(12), 813 (2015)CrossRefGoogle 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)MathSciNetzbMATHCrossRefGoogle 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)zbMATHCrossRefGoogle 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)MathSciNetCrossRefGoogle 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_13CrossRefGoogle 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)CrossRefGoogle Scholar
- 123.Iravanian, S.: fib-tf: a TensorFlow-based cardiac electrophysiology simulator. J. Open Source Softw. 3(26), 719 (2018)CrossRefGoogle 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)CrossRefGoogle Scholar
- 125.Savalia, S., Emamian, V.: Cardiac arrhythmia classification by multi-layer perceptron and convolution neural networks. Bioengineering 5(2), 35 (2018)CrossRefGoogle 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)MathSciNetCrossRefGoogle 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)CrossRefGoogle 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)MathSciNetCrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)zbMATHCrossRefGoogle 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)CrossRefGoogle 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)MathSciNetzbMATHCrossRefGoogle 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)zbMATHCrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)MathSciNetCrossRefGoogle 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)zbMATHCrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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