Fast Pattern Classification of Ventricular Arrhythmias Using Graphics Processing Units

  • Noel Lopes
  • Bernardete Ribeiro
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5856)


Graphics Processing Units (GPUs) can provide remarkable performance gains when compared to CPUs for computationally-intensive applications. In the biomedical area, most of the previous studies are focused on using Neural Networks (NNs) for pattern recognition of biomedical signals. However, the long training times prevent them to be used in real-time. This is critical for the fast detection of Ventricular Arrhythmias (VAs) which may cause cardiac arrest and sudden death. In this paper, we present a parallel implementation of the Back-Propagation (BP) and the Multiple Back-Propagation (MBP) algorithm which allowed significant training speedups. In our proposal, we explicitly specify data parallel computations by defining special functions (kernels); therefore, we can use a fast evaluation strategy for reducing the computational cost without wasting memory resources. The performance of the pattern classification implementation is compared against other reported algorithms.


GPU Computing Parallel Programming Neural Networks 


  1. 1.
    Brandstetter, A., Artusi, A.: Radial basis function networks GPU based implementation. IEEE Transactions on Neural Networks 19(12), 2150–2154 (2008)CrossRefGoogle Scholar
  2. 2.
    Vonk, E., Jain, L.C., Veelenturf, L.P.J.: Neural network applications. In: Jain, L.C. (ed.) Electronic Technology Directions, pp. 63–67. IEEE Computer Society, Los Alamitos (1995)CrossRefGoogle Scholar
  3. 3.
    Catanzaro, B., Sundaram, N., Keutzer, K.: Fast support vector machine training and classification on graphics processors. In: Proc. of the 25th International Conference on Machine Learning (ICML 2008), Helsinki, Finland, pp. 104–111 (2008)Google Scholar
  4. 4.
    Che, S., Boyer, M., Meng, J., Tarjan, D., Sheaffer, J.W., Skadron, K.: A performance study of general-purpose applications on graphics processors using CUDA. Journal of Parallel and Distributed Computing 68(10), 1370–1380 (2008)CrossRefGoogle Scholar
  5. 5.
    Steinkrau, D., Simard, P.Y., Buck, I.: Using GPUs for machine learning algorithms. In: Proc. 8th Int. Conf. on Doc, pp. 1115–1119. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  6. 6.
    Jang, H., Park, A., Jung, K.: Neural network implementation using CUDA and OpenMP. In: DICTA 2008: Proc. of the 2008 Digital Image Computing: Techniques and Applications, Washington, DC, USA, pp. 155–161. IEEE Comp. Society, Los Alamitos (2008)CrossRefGoogle Scholar
  7. 7.
    NVIDIA CUDA Programming Guide Version 2.2 (2009)Google Scholar
  8. 8.
    Lopes, N., Ribeiro, B.: An efficient gradient-based learning algorithm applied to neural networks with selective actuation neurons. Neural, Parallel & Scientific Computations 11(3), 253–272 (2003)zbMATHMathSciNetGoogle Scholar
  9. 9.
    Lopes, N., Ribeiro, B.: Hybrid learning in a multi-neural network architecture. Neural Networks, 2001. In: Proc. of IJCNN 2001. Int Joint Conf. on Neural Networks, vol. 4, pp. 2788–2793 (2001)Google Scholar
  10. 10.
    WolframAlpha – computational knowledge engine,
  11. 11.
    Marques, A.: Feature extraction and PVC detection using neural networks and support vector machines. Master’s thesis, University of Coimbra (2007)Google Scholar
  12. 12.
    Ribeiro, B., Marques, A., Henriques, J., Antunes, M.: Choosing real-time predictors for ventricular arrhythmia detection. IJPRAI 21(8), 1249–1263 (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Noel Lopes
    • 1
    • 2
  • Bernardete Ribeiro
    • 1
  1. 1.CISUC - Center for Informatics and Systems of University of CoimbraPortugal
  2. 2.UDI/IPG - Research UnitPolytechnic Institute of GuardaPortugal

Personalised recommendations