Skip to main content

Optimizing ELARS Algorithms Using NVIDIA CUDA Heterogeneous Parallel Programming Platform

  • Conference paper
ICT Innovations 2014 (ICT Innovations 2014)

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 311))

Included in the following conference series:

Abstract

Scalability is an important property of every large-scale recommender system. In order to ensure smooth user experience, recommendation algorithms should be optimized to work with large amounts of user data. This paper presents the optimization approach used in the development of the E-learning activities recommender system (ELARS). The recommendations for students and groups in ELARS include four different types of items: Web 2.0 tools, collaborators (colleague students), optional e-learning activities, and advice. Since implemented recommendation algorithms depend on prediction of students’ preferences, algorithm that computes predictions was offloaded to graphics processing unit using NVIDIA CUDA heterogeneous parallel programming platform. This offload increases performance significantly, especially with large number of students using the system.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Adomavicius, G., Tuzhilin, A.: Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions. IEEE Transactions on Knowledge and Data Engineering 17(6), 734–749 (2005)

    Article  Google Scholar 

  2. Bell, N., Hoberock, J.: Thrust: A productivity-oriented library for cuda. GPU Computing Gems 7 (2011)

    Google Scholar 

  3. Dlab, M.H., Hoić-Božić, N.: An approach to adaptivity and collaboration support in a web-based learning environment. International Journal of Emerging Technologies in Learning (2009)

    Google Scholar 

  4. Drachsler, H., Hummel, H., Koper, R.: Identifying the goal, user model and conditions of recommender systems for formal and informal learning. Social Information Retrieval for Technology Enhanced Learning 10(2), 4–24 (2009)

    Google Scholar 

  5. Du, P., Weber, R., Luszczek, P., Tomov, S., Peterson, G., Dongarra, J.: From cuda to opencl: Towards a performance-portable solution for multi-platform gpu programming. Parallel Computing 38(8), 391–407 (2012)

    Article  Google Scholar 

  6. Fleming, N.D.: I’m different; not dumb. modes of presentation (vark) in the tertiary classroom. In: Research and Development in Higher Education, Proceedings of the 1995 Annual Conference of the Higher Education and Research Development Society of Australasia (HERDSA), vol. 18, pp. 308–313 (1995)

    Google Scholar 

  7. Garcia, V., Debreuve, E., Barlaud, M.: Fast k nearest neighbor search using gpu. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops, CVPRW 2008, pp. 1–6. IEEE (2008)

    Google Scholar 

  8. Garland, M., Grand, S., Nickolls, J., Anderson, J., Hardwick, J., Morton, S., Phillips, E., Zhang, Y., Volkov, V.: Parallel computing experiences with cuda. IEEE Micro Magazine 28(4), 13–27 (2008)

    Article  Google Scholar 

  9. Gregg, C., Hazelwood, K.: Where is the data? why you cannot debate cpu vs. gpu performance without the answer. In: 2011 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pp. 134–144. IEEE (2011)

    Google Scholar 

  10. Holenko Dlab, M., Hoić-Božić, N.: Recommender system for web 2.0 supported elearning. In: 2014 IEEE Global Engineering Education Conference (EDUCON) Proceedings (2014)

    Google Scholar 

  11. Holenko Dlab, M., Hoić-Božić, N., Mezak, J.: Personalizing e-learning 2.0 using recommendations. In: The Proceedings of MIS4TEL Conference (2014)

    Google Scholar 

  12. Keckler, S.W., Dally, W.J., Khailany, B., Garland, M., Glasco, D.: Gpus and the future of parallel computing. IEEE Micro 31(5), 7–17 (2011)

    Article  Google Scholar 

  13. Kirk, D.: Nvidia cuda software and gpu parallel computing architecture. In: ISMM, vol. 7, pp. 103–104 (2007)

    Google Scholar 

  14. Klöckner, A., Pinto, N., Lee, Y., Catanzaro, B., Ivanov, P., Fasih, A.: Pycuda and pyopencl: A scripting-based approach to gpu run-time code generation. Parallel Computing 38(3), 157–174 (2012)

    Article  Google Scholar 

  15. Lee, L.: Measures of distributional similarity. In: Proceedings of the 37th Annual Meeting of the Association for Computational Linguistics on Computational Linguistics, pp. 25–32. Association for Computational Linguistics (1999)

    Google Scholar 

  16. Manouselis, N., Drachsler, H., Vuorikari, R., Hummel, H., Koper, R.: Recommender systems in technology enhanced learning. In: Recommender Systems Handbook, pp. 387–415. Springer (2011)

    Google Scholar 

  17. Michael, M., Moreira, J.E., Shiloach, D., Wisniewski, R.W.: Scale-up x scale-out: A case study using nutch/lucene. In: IEEE International Parallel and Distributed Processing Symposium, IPDPS 2007, pp. 1–8. IEEE (2007)

    Google Scholar 

  18. Shani, G., Gunawardana, A.: Evaluating recommendation systems. In: Recommender Systems Handbook, pp. 257–297. Springer (2011)

    Google Scholar 

  19. Van Der Walt, S., Colbert, S.C., Varoquaux, G.: The numpy array: a structure for efficient numerical computation. Computing in Science & Engineering 13(2), 22–30 (2011)

    Article  Google Scholar 

  20. Wu, E., Liu, Y.: Emerging technology about gpgpu. In: IEEE Asia Pacific Conference on Circuits and Systems, APCCAS 2008, pp. 618–622. IEEE (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vedran Miletić .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Miletić, V., Holenko Dlab, M., Hoić-Božić, N. (2015). Optimizing ELARS Algorithms Using NVIDIA CUDA Heterogeneous Parallel Programming Platform. In: Bogdanova, A., Gjorgjevikj, D. (eds) ICT Innovations 2014. ICT Innovations 2014. Advances in Intelligent Systems and Computing, vol 311. Springer, Cham. https://doi.org/10.1007/978-3-319-09879-1_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-09879-1_14

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-09878-4

  • Online ISBN: 978-3-319-09879-1

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics