MIMD computers are notoriously difficult to program. Data-Parallel Programming demonstrates that architecture-independent parallel programming is possible by describing in detail how programs written in a high-level SIMD programming language may be compiled and efficiently executed-on both shared-memory multiprocessors and distributed-memory multicomputers.The authors provide enough data so that the reader can decide the feasibility of architecture-independent programming in a data-parallel language. For each benchmark program they give the source code listing, absolute execution time on both a multiprocessor and a multicomputer, and a speedup relative to a sequential program. And they often present multiple solutions to the same problem, to better illustrate the strengths and weaknesses of these compilers.The language presented is Dataparallel C, a variant of the original C* language developed by Thinking Machines Corporation for its Connection Machine processor array. Separate chapters describe the compilation of Dataparallel C programs for execution on the Sequent multiprocessor and the Intel and nCUBE hypercubes, respectively. The authors document the performance of these compilers on a variety of benchmark programs and present several case studies.Philip J. Hatcher is Assistant Professor in the Department of Computer Science at the University of New Hampshire. Michael J. Quinn is Associate Professor of Computer Science at Oregon State University.Contents: Introduction. Dataparallel C Programming Language Description. Design of a Multicomputer Dataparallel C Compiler. Design of a Multiprocessor Dataparallel C Compiler. Writing Efficient Programs. Benchmarking the Compilers. Case Studies. Conclusions.
Includes bibliographical references and index.