The Data-Parallel Programming Model: a Semantic Perspective (Final Version)
Abstract
We provide a short introduction to the data-parallel programming model. We argue that parallel computing often makes little distinction between the execution model and the programming model. This results in poor programming and low portability. Using the «GOTO considered harmful» analogy, we show that data parallelism can be seen as a way out of this difficulty. We show that important aspects of the data-parallel model were already present in earlier approaches to parallel programming, and demonstrate that the data-parallel programming model can be characterized by a small number of concepts with simple semantics.