ompVerify: polyhedral analysis for the OpenMP programmer

  • Authors:
  • V. Basupalli;T. Yuki;S. Rajopadhye;A. Morvan;S. Derrien;P. Quinton;D. Wonnacott

  • Affiliations:
  • Computer Science Department, Colorado State University;Computer Science Department, Colorado State University;Computer Science Department, Colorado State University;CAIRN, IRISA, Rennes, France;CAIRN, IRISA, Rennes, France;CAIRN, IRISA, Rennes, France;Computer Science Department, Haverford College

  • Venue:
  • IWOMP'11 Proceedings of the 7th international conference on OpenMP in the Petascale era
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe a static analysis tool for OpenMP programs integrated into the standard open source Eclipse IDE. It can detect an important class of common data-race errors in OpenMP parallel loop programs by flagging incorrectly specified omp parallel for directives and data races. The analysis is based on the polyhedral model, and covers a class of program fragments called Affine Control Loops (ACLs, or alternatively, Static Control Parts, SCoPs). ompVerify automatically extracts such ACLs from an input C program, and then flags the errors as specific and precise error messages reported to the user. We illustrate the power of our techniques through a number of simple but non-trivial examples with subtle parallelization errors that are difficult to detect, even for expert OpenMP programmers.