Checking Equivalence of SPMD Programs Using Non-Interference

Abstract

We study one of the basic multicore and GPU programming models, namely, SPMD (Single-Program Multiple-Data) programs. We define a formal model of SPMD programs based on interleaving threads that manipulate global and local arrays, and synchronize via barriers. SPMD programs are written with the intention to be deterministic, although programming errors may result in this not being true. SPMD programs are also frequently modified toward optimal performance. These facts motivate us to develop methods to check determinism and equivalence. A key property in achieving this is noninterference formulated as validity of logical formulas automatically derived from the program, that imply determinism. Automatically derived post-conditions can be used to check equivalence of noninterfering programs. We report on a prototype that can prove non-interference of NVIDIA CUDA programs.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 29, 2010
Accession Number
ADA538815

Entities

People

  • Christos Stergiou
  • Roberto Lublinerman
  • Stavros Tripakis

Organizations

  • University of California, Berkeley

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Air Force
  • Automata
  • California
  • Computer Graphics
  • Computer Programming
  • Computer Science
  • Computers
  • Electrical Engineering
  • Fish
  • Graphics Processing Unit
  • Language
  • Military Research
  • Models
  • Parallel Computing
  • Programming Languages
  • Prototypes
  • Three Dimensional

Readers

  • Mathematical Modeling and Probability Theory.
  • Parallel and Distributed Computing.