PLoS ONE (Jan 2015)

Characterizing task-based OpenMP programs.

  • Ananya Muddukrishna,
  • Peter A Jonsson,
  • Mats Brorsson

DOI
https://doi.org/10.1371/journal.pone.0123545
Journal volume & issue
Vol. 10, no. 4
p. e0123545

Abstract

Read online

Programmers struggle to understand performance of task-based OpenMP programs since profiling tools only report thread-based performance. Performance tuning also requires task-based performance in order to balance per-task memory hierarchy utilization against exposed task parallelism. We provide a cost-effective method to extract detailed task-based performance information from OpenMP programs. We demonstrate the utility of our method by quickly diagnosing performance problems and characterizing exposed task parallelism and per-task instruction profiles of benchmarks in the widely-used Barcelona OpenMP Tasks Suite. Programmers can tune performance faster and understand performance tradeoffs more effectively than existing tools by using our method to characterize task-based performance.