An introduction to parallel programming
An introduction to parallel programming
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Frameworks = (components + patterns)
Communications of the ACM
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Object-oriented pattern-based parallel programming with automatically generated frameworks
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
From patterns to frameworks to parallel programs
Parallel Computing - Special issue: Advanced environments for parallel and distributed computing
Using generative design patterns to generate parallel code for a distributed memory environment
Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
Asserting the utility of CO2P3S using the Cowichan Problem Set
Journal of Parallel and Distributed Computing
Is MPI suitable for a generative design-pattern system?
Parallel Computing - Algorithmic skeletons
Computer Vision and Image Understanding
Accelerating Machine-Learning Algorithms on FPGAs using Pattern-Based Decomposition
Journal of Signal Processing Systems
Dynamic task generation and transformation within a nestable workpool skeleton
Euro-Par'06 Proceedings of the 12th international conference on Parallel Processing
A distributed divide and conquer skeleton
PARA'04 Proceedings of the 7th international conference on Applied Parallel Computing: state of the Art in Scientific Computing
C2FPGA-A dependency-timing graph design methodology
Journal of Parallel and Distributed Computing
Autotuning Wavefront Applications for Multicore Multi-GPU Hybrid Architectures
Proceedings of Programming Models and Applications on Multicores and Manycores
Hi-index | 0.01 |
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.