Automatic verification of determinism for structured parallel programs

  • Authors:
  • Martin Vechev;Eran Yahav;Raghavan Raman;Vivek Sarkar

  • Affiliations:
  • IBM T.J. Watson Research Center;IBM T.J. Watson Research Center;Rice University;Rice University

  • Venue:
  • SAS'10 Proceedings of the 17th international conference on Static analysis
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a static analysis for automatically verifying determinism of structured parallel programs. The main idea is to leverage the structure of the program to reduce determinism verification to an independence property that can be proved using a simple sequential analysis. Given a task-parallel program, we identify program fragments that may execute in parallel and check that these fragments perform independent memory accesses using a sequential analysis. Since the parts that can execute in parallel are typically only a small fraction of the program, we can employ powerful numerical abstractions to establish that tasks executing in parallel only perform independent memory accesses. We have implemented our analysis in a tool called DICE and successfully applied it to verify determinism on a suite of benchmarks derived from those used in the highperformance computing community.