Quantifying OpenMP: Statistical Insights into Usage and Adoption

Tal Kadosh, Niranjan Hasabnis, Timothy Mattson, Yuval Pinter, Gal Oren

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

In high-performance computing (HPC), the demand for efficient parallel programming models has grown dramatically since the end of Dennard Scaling and the subsequent move to multi-core CPUs. OpenMP stands out as a popular choice due to its simplicity and portability, offering a directive-driven approach for shared-memory parallel programming. Despite its wide adoption, however, there is a lack of comprehensive data on the actual usage of OpenMP constructs, hindering unbiased insights into its popularity and evolution. This paper presents a statistical analysis of OpenMP usage and adoption trends based on a novel and extensive database, HPCORPUS, compiled from GitHub repositories containing C, C++, and Fortran code. The results reveal that OpenMP is the dominant parallel programming model, accounting for 45% of all analyzed parallel APIs. Furthermore, it has demonstrated steady and continuous growth in popularity over the past decade. Analyzing specific OpenMP constructs, the study provides in-depth insights into their usage patterns and preferences across the three languages. Notably, we found that while OpenMP has a strong 'common core' of constructs in common usage (while the rest of the API is less used), there are new adoption trends as well, such as simd and target directives for accelerated computing and task for irregular parallelism. Overall, this study sheds light on OpenMP's significance in HPC applications and provides valuable data for researchers and practitioners. It showcases OpenMP's versatility, evolving adoption, and relevance in contemporary parallel programming, underlining its continued role in HPC applications and beyond. These statistical insights are essential for making informed decisions about parallelization strategies and provide a foundation for further advancements in parallel programming models and techniques. HPCORPUS, as well as the analysis scripts and raw results, are available at: https://github.com/Scientific-Computing-Lab-NRCN/HPCorpus

Original languageAmerican English
Title of host publication2023 IEEE High Performance Extreme Computing Conference, HPEC 2023
ISBN (Electronic)9798350308600
DOIs
StatePublished - 1 Jan 2023
Event2023 IEEE High Performance Extreme Computing Conference, HPEC 2023 - Virtual, Online, United States
Duration: 25 Sep 202329 Sep 2023

Publication series

Name2023 IEEE High Performance Extreme Computing Conference, HPEC 2023

Conference

Conference2023 IEEE High Performance Extreme Computing Conference, HPEC 2023
Country/TerritoryUnited States
CityVirtual, Online
Period25/09/2329/09/23

Keywords

  • BigQuery
  • C
  • C++
  • CUDA
  • Cilk
  • Fortran
  • GitHub
  • HPCorpus
  • MPI
  • OpenACC
  • OpenCL
  • OpenMP
  • SYCL
  • TBB

All Science Journal Classification (ASJC) codes

  • Control and Optimization
  • Modelling and Simulation
  • Artificial Intelligence
  • Computer Science Applications
  • Software
  • Media Technology
  • Computational Mathematics

Cite this