2002HIPS John Anvik, Steve MacDonald, Duane Szafron, Jonathan Schaeffer, Steven Bromling and Kai Tan, Generating Parallel Programs from the Wavefront Design Pattern, 7th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'2002) at IPDPS, April 2002, Ft. Lauderdale U.S.A, CD-ROM pp. 1-8. (Best Paper Award) abstract or pdf.

Object-oriented programming, design patterns, and frameworks are common techniques that have been used to reduce the complexity of sequential programming. We have applied these techniques to the more difficult domain of parallel programming. This paper describes CO2P3S, a pattern-based parallel programming system that generates parallel programs from parallel design patterns. We demonstrate CO2P3S by applying a new design pattern called the Wavefront pattern to three problems. We show that it is quick and easy to use CO2P3S to generate structurally correct parallel programs with good speed-ups on shared-memory computers.