CSC/ECE 506 Spring 2012/3a df: Difference between revisions
No edit summary |
|||
Line 2: | Line 2: | ||
==Introduction== | ==Introduction== | ||
Computer programming has gone through several paradigm shifts in regards to how software is design and constructed. In more recent years with the advent of object-oriented programming, an effort was made by the “[http://en.wikipedia.org/wiki/Design_Patterns Gang of Four]” to categorize different arrangements and relationships between programming objects in terms of commonly used [http://en.wikipedia.org/wiki/Design_patterns design patterns]. In a similar vein, with recent advances in parallel programming and availability of hardware, there are several common designs that can be drawn from the vast amount of literature available. Although there exists no canonical text for parallel programing as there exists for object oriented programming, there is substantial overlap, which is presented here. | |||
==Intuitive Patterns== | ==Intuitive Patterns== | ||
==="Embarassingly" Parallel=== | ==="Embarassingly" Parallel=== |
Revision as of 23:48, 12 February 2012
Patterns of Parallel Programming
Introduction
Computer programming has gone through several paradigm shifts in regards to how software is design and constructed. In more recent years with the advent of object-oriented programming, an effort was made by the “Gang of Four” to categorize different arrangements and relationships between programming objects in terms of commonly used design patterns. In a similar vein, with recent advances in parallel programming and availability of hardware, there are several common designs that can be drawn from the vast amount of literature available. Although there exists no canonical text for parallel programing as there exists for object oriented programming, there is substantial overlap, which is presented here.
Intuitive Patterns
"Embarassingly" Parallel
Replicable
Repository
Divide and Conquer
Common Patterns
Pipeline
Recursive Data
Geometric
Irregular Mesh
Inseperable
Complex Patterns
Multi-grid
Multi-domain
Formalization
Design Languages
Frameworks
See Also
References
<references></references>