Advertisement

Integrating Parallel Computing in the Curriculum of the University Politehnica of Bucharest

  • Mihai Carabaş
  • Adriana Drăghici
  • Grigore Lupescu
  • Cosmin-Gabriel Samoilă
  • Emil-Ioan Sluşanschi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11339)

Abstract

The continuous shift of hardware computing architectures, from single to many-core processors, as well as the blurring of the hardware - software interface, has made the introduction of parallel and distributed computing topics in the undergraduate curriculum an essential requirement for any quality computer science program. The University Politehnica of Bucharest offers a unique approach, employing a heterogeneous hardware and software teaching and computing infrastructure, to its over 450 students enrolled in undergraduate studies of Computer Science and Electrical Engineering. In this study we present two of the most important lectures covering PDC topics at the UPB.

Keywords

Parallel programming Python Performance optimization GPU computing PDC Undergraduate education 

Notes

Acknowledgements

The authors would like to thank Professor Nicolae Tăpuş, Alexandru Herişanu, Răzvan Dobre, Vlad Spoială, Dan Dragomir, Alexandru Olteanu, and Voichiţa Iancu for their valuable contributions to the CSA and PPA curriculum. This work is partially supported by project Sovarex, ID: 10PS/2017.

References

  1. 1.
  2. 2.
    BLAS Basic Linear Algebra Subprograms. http://www.netlib.org/blas/. Accessed 14 May 2018
  3. 3.
    CSA wiki. http://cs.curs.pub.ro/wiki/asc/. Accessed 8 May 2018
  4. 4.
    Dokuwiki homepage. https://www.dokuwiki.org/dokuwiki. Accessed 14 May 2018
  5. 5.
    ETector homepage. http://www.etector.org/show.cgi. Accessed 14 May 2018
  6. 6.
    Junio homepage. https://junio.ro. Accessed 27 Apr 2018
  7. 7.
    Moodle homepage. https://moodle.org. Accessed 14 May 2018
  8. 8.
    Moss - for a Measure Of Software Similarity. https://theory.stanford.edu/~aiken/moss/. Accessed 14 May 2018
  9. 9.
    Open Grid Scheduler. http://gridscheduler.sourceforge.net/. Accessed 14 May 2018
  10. 10.
  11. 11.
    Pylint homepage. https://www.pylint.org/. Accessed 25 Apr 2018
  12. 12.
    Stagii pe bune homepage. https://stagiipebune.ro. Accessed 27 Apr 2018
  13. 13.
    Torque Resource Manager. http://www.adaptivecomputing.com/products/open-source/torque/. Accessed 14 May 2018
  14. 14.
    VMChecker. https://github.com/rosedu/vmchecker. Accessed 25 Apr 2018
  15. 15.
    Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., Menon, R.: Parallel Programming in OpenMP. MK Inc., San Francisco (2001)Google Scholar
  16. 16.
    Cook, S.: CUDA Programming: A Developer’s Guide to Parallel Computing with GPUs, 1st edn. MK Inc., San Francisco (2013)Google Scholar
  17. 17.
    Pierro, M.D.: Portable parallel programs with Python and OpenCL. Comput. Sci. Eng. 16, 34–40 (2014)CrossRefGoogle Scholar
  18. 18.
    Message Passing Interface Forum. MPI: A message-passing interface standard. Technical report, Knoxville, TN, USA (1994)Google Scholar
  19. 19.
    Ghafoor, S., Brown, D.W., Rogers, M.: Integrating parallel computing in introductory programming classes: an experience and lessons learned. In: Heras, D.B., Bougé, L. (eds.) Euro-Par 2017. LNCS, vol. 10659, pp. 216–226. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-75178-8_18CrossRefGoogle Scholar
  20. 20.
    Paprzycki, M., Wasniowski, R., Zalewski, J.: Parallel and distributed computing education: a software engineering approach. In: Ibrahim, R.L. (ed.) CSEE 1995. LNCS, vol. 895, pp. 187–204. Springer, Heidelberg (1995).  https://doi.org/10.1007/3-540-58951-1_104CrossRefGoogle Scholar
  21. 21.
    Munshi, A., Gaster, B., Mattson, T.G., Fung, J., Ginsburg, D.: OpenCL Programming Guide, 1st edn. Addison-Wesley Professional, Upper Saddle River (2011)Google Scholar
  22. 22.
    Niculescu, V., Bufnea, D.: Experience with teaching PDC topics into Babeş-Bolyai University’s CS courses. In: Heras, D.B., Bougé, L. (eds.) Euro-Par 2017. LNCS, vol. 10659, pp. 240–251. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-75178-8_20CrossRefGoogle Scholar
  23. 23.
    Raynal, M.: Parallel computing vs. distributed computing: a great confusion? (position paper). In: Hunold, S., et al. (eds.) Euro-Par 2015. LNCS, vol. 9523, pp. 41–53. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-27308-2_4CrossRefGoogle Scholar
  24. 24.
    Tomeu-Hardasmal, A.J., Salguero, A.G., Capel, M.I.: Integration of ICT in concurrent and parallel programming lectures. In: Hunold, S., et al. (eds.) Euro-Par 2015. LNCS, vol. 9523, pp. 114–124. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-27308-2_10CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Mihai Carabaş
    • 1
  • Adriana Drăghici
    • 1
  • Grigore Lupescu
    • 1
  • Cosmin-Gabriel Samoilă
    • 1
  • Emil-Ioan Sluşanschi
    • 1
  1. 1.University Politehnica of BucharestBucharestRomania

Personalised recommendations