Electrical Engineering
      and Computer Sciences

Electrical Engineering and Computer Sciences

COLLEGE OF ENGINEERING

UC Berkeley

Checking Equivalence of SPMD Programs Using Non-Interference

Stavros Tripakis, Christos Stergiou and Roberto Lublinerman

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2010-11
January 29, 2010

http://www.eecs.berkeley.edu/Pubs/TechRpts/2010/EECS-2010-11.pdf

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 non-interference, 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 non-interfering programs. We report on a prototype that can prove non-interference of NVIDIA CUDA programs.


BibTeX citation:

@techreport{Tripakis:EECS-2010-11,
    Author = {Tripakis, Stavros and Stergiou, Christos and Lublinerman, Roberto},
    Title = {Checking Equivalence of SPMD Programs Using Non-Interference},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2010},
    Month = {Jan},
    URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/2010/EECS-2010-11.html},
    Number = {UCB/EECS-2010-11},
    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 non-interference, 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 non-interfering programs. We report on a prototype that can prove non-interference of NVIDIA CUDA programs.}
}

EndNote citation:

%0 Report
%A Tripakis, Stavros
%A Stergiou, Christos
%A Lublinerman, Roberto
%T Checking Equivalence of SPMD Programs Using Non-Interference
%I EECS Department, University of California, Berkeley
%D 2010
%8 January 29
%@ UCB/EECS-2010-11
%U http://www.eecs.berkeley.edu/Pubs/TechRpts/2010/EECS-2010-11.html
%F Tripakis:EECS-2010-11