Formal Specification of the OpenMP Memory Model

  title={Formal Specification of the OpenMP Memory Model},
  author={Greg Bronevetsky and Bronis R. de Supinski},
OpenMP [1] is an important API for shared memory programming, combining shared memory’s potential for performance with a simple programming interface. Unfortunately, OpenMP lacks a critical tool for demonstrating whether programs are correct: a formal memory model. Instead, the current official definition of the OpenMP memory model (the OpenMP 2.5 specification [1]) is in terms of informal prose. As a result, it is impossible to verify OpenMP applications formally since the prose does not… CONTINUE READING