An abstract semantically rich compiler collocative and interpretative model for openmp programs

Mohammed F. Mokbel, Robert D. Kent, Michael Wong

Research output: Contribution to journalArticlepeer-review

Abstract

To understand the behavior of OpenMP programs, special tools and adaptive techniques are needed for performance analysis. However, these tools provide low-level profile information at the assembly and functions boundaries via instrumentation at the binary or code level, which are very hard to interpret. Moreover, to compare different OpenMP-enabled compilers, there is no systematic methodology that provides an easy comparison. Hence, in this paper, we propose a new model for OpenMP-enabled compilers that assesses the performance differences in well-defined formulations by dividing OpenMP program conditions into four distinct states which account for all the possible cases that an OpenMP program can take. The model works as a first-level inspector to reason about the effect of compiler performance on every state in an unobtrusive and informative way. In addition, an improved version of the standard performance metrics is proposed: speedup, overhead and efficiency based on the model categorization that is state's aware. The evaluation shows that the improved version is more accurate and insightful in terms of OpenMP implementation. Moreover, an algorithmic approach to find patterns between OpenMP compilers is proposed, which is verified along with the model formulations experimentally. We also show the mathematical model behind the optimum performance for any OpenMP program.

Original languageEnglish (US)
Pages (from-to)1325-1343
Number of pages19
JournalComputer Journal
Volume54
Issue number8
DOIs
StatePublished - Aug 1 2011

Keywords

  • OpenMP
  • compilers
  • optimization
  • parallel programming
  • performance analysis

Fingerprint

Dive into the research topics of 'An abstract semantically rich compiler collocative and interpretative model for openmp programs'. Together they form a unique fingerprint.

Cite this