An Empirical Study of OpenMP Directive Usage in Open-Source Projects on GitHub

  • Cristian Carvalho Quevedo UFPel
  • Simone André da Costa Cavalheiro UFPel
  • Marcos Antonio de Oliveira Jr. IFFar
  • André Rauber Du Bois UFPel
  • Gerson Geraldo H. Cavalheiro UFPel

Resumo


This paper presents a mapping of OpenMP API usage in open-source C/C++ projects on GitHub. The study investigates the frequency and patterns of OpenMP directive utilization through a data mining process on relevant repositories. The analysis reveals a predominant focus on loop parallelization and identifies opportunities for optimization in scheduling strategies and critical section handling. The study also uncovers underutilization of vectorization capabilities and potential for code restructuring to enhance parallel performance. The findings offer valuable insights into the practical application of OpenMP, contributing to the development of improved programming practices, educational resources, and tools that support efficient parallel programming with OpenMP. All software artifacts developed for this study are available to foster reproducibility and further research.

Referências

Biswas, S., Islam, M. J., Huang, Y., and Rajan, H. (2019). Boa meets python: A boa dataset of data science software in python language. In Proc. of the 16th Inter. Conf. on Mining Software Repositories, pages 577–581.

Board, O. A. R. (2021). OpenMP Application Programming Interface Specification 5.2.

Borges, H. and Tulio Valente, M. (2018). What’s in a github star? understanding repository starring practices in a social coding platform. Journal of Systems and Software, 146:112–129.

Borges, H. S., Hora, A. C., and Valente, M. T. (2016). Understanding the factors that impact the popularity of github repositories. 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), pages 334–344.

de F. Farias, M. A., Novais, R., Colaço Jr, M., Carvalho, L. P. S., Mendonça, M., and Spínola, R. O. (2016). A systematic mapping study on mining software repositories. In Proc. of the 31st ACM Symp. on Applied Computing, pages 1472–1479, New York.

Gote, C., Scholtes, I., and Schweitzer, F. (2019). git2net - mining time-stamped co-editing networks from large git repositories. In 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR), pages 433–444.

Luzgin, V. A. and Kholod, I. I. (2020). Overview of mining software repositories. In 2020 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus), pages 400–404.

Munaiah, N., Kroh, S., Cabrey, C., and Nagappan, M. (2017). Curating GitHub for engineered software projects. Empirical Software Engineering, 22.

Romano, S., Caulo, M., Buompastore, M., Guerra, L., Mounsif, A., Telesca, M., Baldassarre, M. T., and Scanniello, G. (2021). G-repo: a tool to support msr studies on github. In 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pages 551–555.

Yang, X., Kula, R. G., Yoshida, N., and Iida, H. (2016). Mining the modern code review repositories: a dataset of people, process and product. In Proc. of the 13th Inter. Conf. on Mining Software Repositories, pages 460–463, New York.
Publicado
23/10/2024
QUEVEDO, Cristian Carvalho; CAVALHEIRO, Simone André da Costa; OLIVEIRA JR., Marcos Antonio de; DU BOIS, André Rauber; CAVALHEIRO, Gerson Geraldo H.. An Empirical Study of OpenMP Directive Usage in Open-Source Projects on GitHub. In: SIMPÓSIO EM SISTEMAS COMPUTACIONAIS DE ALTO DESEMPENHO (SSCAD), 25. , 2024, São Carlos/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 144-155. DOI: https://doi.org/10.5753/sscad.2024.244777.