List of parallel programming patterns

CS 300 (PDC)

A process for developing a parallel programming

Patterns for parallel programming

Examining the patterns

Drawn from Mattson, et al

Note: Each of the patterns below represents a design question. For example, there may be numerous approaches to Data Decomposition for a given problem and data set.

Finding concurrency design space

A computational problem typically includes a stream of instructions and a collection of data. This suggests two dimensions for parallelizing that problem (with efficiency considerations).

Algorithm Structure design space

Supporting Structures design space

Implementation Mechanisms design space