Skip to main content
Log in

Parallel Implementation of a Machine Learning Algorithm on GPU

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

The capability for understanding data passes through the ability of producing an effective and fast classification of the information in a time frame that allows to keep and preserve the value of the information itself and its potential. Machine learning explores the study and construction of algorithms that can learn from and make predictions on data. A powerful tool is provided by self-organizing maps (SOM). The goal of learning in the self-organizing map is to cause different parts of the network to respond similarly to certain input patterns. Because of its time complexity, often using this method is a critical challenge. In this paper we propose a parallel implementation for the SOM algorithm, using parallel processor architecture, as modern graphics processing units by CUDA. Experimental results show improvements in terms of execution time, with a promising speed up, compared to the CPU version and the widely used package SOM_PAK.

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
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. http://www.nvidia.com.

  2. https://developer.nvidia.com/cublas.

  3. http://www.cis.hut.fi/research/som-research/nnrc-programs.shtml.

  4. https://developer.nvidia.com/nvidia-visual-profiler.

References

  1. Alahakoon, D., Halgamuge, S.K., Srinivasan, B.: Dynamic self-organizing maps with controlled growth for knowledge discovery. Trans. Neural Netw. 11(3), 601–614 (2000)

    Article  Google Scholar 

  2. Astel, A., Tsakovski, S., Barbieri, P., Simeonov, V.: Comparison of self-organizing maps classification approach with cluster and principal components analysis for large environmental data sets. Water Res. 41(19), 4566–4578 (2007)

    Article  Google Scholar 

  3. Bauer, H.U., Pawelzik, K.: Quantifying the neighborhood preservation of self-organizing feature maps. IEEE Trans. Neural Netw. 3(4), 570–579 (1992)

    Article  Google Scholar 

  4. Chen, H., Schuffels, C., Orwig, R.: Internet categorization and search: a self-organizing approach. J. Vis. Commun. Image Represent. 7(1), 88–102 (1996)

    Article  Google Scholar 

  5. Chianese, A., Marulli, F., Moscato, V., Piccialli, F.: A “smart” multimedia guide for indoor contextual navigation in Cultural Heritage applications. In: 2013 International Conference on Indoor Positioning and Indoor Navigation, IPIN 2013 (2013)

  6. Chianese, A., Piccialli, F., Riccio, G.: Designing a smart multisensor framework based on beaglebone black board. Lecture Notes in Electrical Engineering, vol. 330, pp. 391–397 (2015)

  7. Chianese, A., Piccialli, F.: SmaCH: a framework for smart cultural heritage spaces. In: Proceedings—10th International Conference on Signal-Image Technology and Internet-Based Systems, SITIS 2014, pp. 477–2015 (2015). https://doi.org/10.1109/SITIS.2014.16

  8. Cuomo, S., Galletti, A., Giunta, G., Marcellino, L.: Reconstruction of implicit curves and surfaces via RBF interpolation Appl. Numer. Math. (2016, in press). https://doi.org/10.1016/j.apnum.2016.10.016

    Article  MathSciNet  Google Scholar 

  9. Cuomo, S., Galletti, A., Marcellino, L.: A GPU algorithm in a distributed computing system for 3D MRI denoising. In: Xhafa, F., Barolli, L., Messina, F., Ogilla, M.R. (eds.) 10th International Conference on P2P, Parallel, Grid, Cloud and Internet Computing, Krakow, Poland, November 4–6, 2015, pp. 557–562 (2015)

  10. Cuomo, S., Galletti, A., Giunta, G., Marcellino, L.: A novel triangle-based method for scattered data interpolation. Appl. Math. Sci. 8(134), 67176724 (2014)

    Google Scholar 

  11. Cuomo, S., Michele, P.D., Piccialli, F., Galletti, A., Jung, J.E.: IoT-based collaborative reputation system for associating visitors and artworks in a cultural scenario. Expert Syst. Appl. 79, 101–111 (2017)

    Article  Google Scholar 

  12. D’Amore, L., Marcellino, L., Mele, V., Romano, D.: Deconvolution of 3D fluorescence microscopy images using graphics processing units. In: Wyrzykowski, R., et al. (eds.) Proceedings of Conference PPAM2011—International Conference on Parallel Processing and Applied Mathematics, PPAM 2011, Part I, LNCS 7203, pp. 690–699. Springer, Berlin (2012)

    Google Scholar 

  13. González, F.A., Dasgupta, D.: Anomaly detection using real-valued negative selection. Genet. Program Evol. Mach. 4(4), 383–403 (2003)

    Article  Google Scholar 

  14. Harris, M.: Optimizing Parallel Reduction in CUDA, presentation packaged with CUDA Toolkit, NVIDIA Corporation (2007)

  15. Hong, M., Jung, J.J., Piccialli, F., Chianese, A.: Social recommendation service for cultural heritage. Pers. Ubiquit. Comput. 21(2), 191–201 (2017)

    Article  Google Scholar 

  16. Kalteh, A., Hjorth, P., Berndtsson, R.: Review of the self-organizing map (SOM) approach in water resources: analysis, modelling and application. Environ. Model. Softw. 23(7), 835–845 (2008)

    Article  Google Scholar 

  17. Kangas, J.A., Kohonen, T.K., Laaksonen, J.T.: Variants of self-organizing maps. Trans. Neural Netw. 1(1), 93–99 (1990)

    Article  Google Scholar 

  18. Kiviluoto, K.: Topology preservation in self-organizing maps. In: IEEE International Conference on Neural Networks, vol. 1, pp. 294–299 (1996)

  19. Kohonen, T.: Self-organized formation of topologically correct feature maps. Biol. Cybern. 43(1), 5969 (1982)

    Article  MathSciNet  Google Scholar 

  20. Kohonen, T.: The self-organizing map. Proc. IEEE 78, 1464–1480 (1990)

    Article  Google Scholar 

  21. Kohonen, T.: The self-organizing map. Neurocomputing 21(13), 1–6 (1998)

    Article  Google Scholar 

  22. Kohonen, T., Somervuo, P.: How to make large self-organizing maps for nonvectorial data. Neural Netw. 15(8–9), 945–952 (2002)

    Article  Google Scholar 

  23. Kohonen, T., Oja, E., Simula, O., Visa, A., Kangas, J.: Engineering applications of the self-organizing map. Proc. IEEE 84(10), 1358–1384 (1996)

    Article  Google Scholar 

  24. Kohonen, T., Kaski, S., Lagus, K., Salojarvi, J., Honkela, J., Paatero, V., Saarela, A.: Self organization of a massive document collection. Trans. Neural Netw. 11(3), 574–585 (2000)

    Article  Google Scholar 

  25. Moraes, F.C., Botelho, S.C., Filho, N.D., Gaya, J.F.O.: Parallel high dimensional self organizing maps using CUDA. In: Robotics Symposium and Latin American Robotics Symposium (SBR-LARS), 2012 Brazilian, Fortaleza, 2012, pp. 302–306. https://doi.org/10.1109/SBR-LARS.2012.56

  26. Moraes, F., Botelho, S., Filho, N., Gaya, J.: Parallel high dimensional self organizing maps using CUDA, pp 302–306 (2012)

  27. Neelima, B., Raghavendra, P.S.: Recent trends in software and hardware for GPGPU computing: a comprehensive survey. In: 2010 5th International Conference on Industrial and Information Systems, pp. 319–324 (2010)

  28. Owens, J., Luebke, D., Govindaraju, N., Harris, M., Krger, J., Lefohn, A., Purcell, T.: A survey of general-purpose computation on graphics hardware. Comput. Graph. Forum 26(1), 80–113 (2007)

    Article  Google Scholar 

  29. Plato, J., Gajdo, P.: Large data real-time classification with non-negative matrix factorization and self-organizing maps on GPU, pp. 176–181 (2010)

  30. Richardson, T., Winer, E.: Extending parallelization of the self-organizing map by combining data and network partitioned methods. Adv. Eng. Softw. 88, 1–7 (2015)

    Article  Google Scholar 

  31. Sharma, K.: High performance GPU based optimized feature matching for computer vision applications. Optik Int. J. Light Electron Opt. 127(3), 1153–1159 (2016)

    Article  Google Scholar 

  32. Shiralkar, M., Schalkoff, R.: A self-organization based optical flow estimator with GPU implementation. Mach. Vis. Appl. 23(6), 1229–1242 (2012)

    Article  Google Scholar 

  33. Song, T., Kerong, B., Liye, T., Zhang, L.: Combination of SOM and RBF based on incremental learning for acoustic fault identification of underwater vehicles. In: Image and Signal Processing, 2008. CISP ’08: 27–30 May 2008. IEEE, Washington (2008). https://doi.org/10.1109/CISP.2008.418

  34. Strong, G., Gong, M.: Similarity-based image organization and browsing using multi-resolution self-organizing map. Image Vis. Comput. 29(11), 774–786 (2011)

    Article  Google Scholar 

  35. Tan, X., Chen, S., Zhou, Z., Zhang, F.: Recognizing partially occluded, expression variant faces from single training image per person with SOM and soft k-nn ensemble. IEEE Trans. Neural Netw. 16(4), 875–886 (2005)

    Article  Google Scholar 

  36. Vesanto, J., Alhoniemi, E.: Clustering of the self-organizing map. Trans. Neural Netw. 11(3), 586–600 (2000)

    Article  Google Scholar 

  37. Wang, H., Mansouri, A., Crput, J.C., Ruichek, Y.: Massively parallel cellular matrix model for superpixel adaptive segmentation map. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 9414, pp. 325–336 (2015)

    Chapter  Google Scholar 

  38. Wang, H.F., Chen, Q.K.: General purpose computing of graphics processing unit: a survey. Chin. J. Comput. 36(4), 757–772 (2013)

    Article  Google Scholar 

  39. Wittek, P., Darnyi, S.: Accelerating text mining workloads in a mapreduce-based distributed GPU environment. J. Parallel Distrib. Comput. 73(2), 198–206 (2013)

    Article  Google Scholar 

  40. Xiao, Y., Leung, C., Ho, T.Y., Lam, P.M.: A GPU implementation for LBG and SOM training. Neural Comput. Appl. 20(7), 1035–1042 (2011)

    Article  Google Scholar 

  41. Xiao, Y., Feng, R.B., Han, Z.F., Leung, C.S.: GPU accelerated self-organizing map for high dimensional data. Neural Process. Lett. 41(3), 341–355 (2015)

    Article  Google Scholar 

  42. Zhang, N., Wang, H., Creput, J.C., Moreau, J., Ruichek, Y.: Cellular GPU model for structured mesh generation and its application to the stereo-matching disparity map, pp. 53–60 (2013)

  43. Zhongwen, L., Hongzhi, L., Zhengping, Y., Xincai, W.: Self-organizing maps computing on graphic process unit, pp 557–562 (2007)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Livia Marcellino.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Cuomo, S., De Michele, P., Di Nardo, E. et al. Parallel Implementation of a Machine Learning Algorithm on GPU. Int J Parallel Prog 46, 923–942 (2018). https://doi.org/10.1007/s10766-017-0554-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-017-0554-6

Keywords

Navigation