Content deleted Content added
Added external link to article on popular parallel programming models |
m Date maintenance tags and general fixes: build 580: |
||
Line 1:
{{Prose|date=October 2008}}
A '''parallel programming model''' is a set of [[software|software technologies]] to express [[parallel algorithm]]s and match applications with the underlying parallel systems. It encloses the areas of [[Application software|applications]], [[programming language]]s, [[compiler]]s, [[library (computer science)|libraries]], [[communications system]]s, and [[parallel I/O]]. Due to the difficulties in [[automatic parallelization]] today, people have to choose a proper parallel programming model or a form of mixture of them to develop their parallel applications on a particular platform.
Parallel models are implemented in several ways: as libraries invoked from traditional sequential languages, as language extensions, or complete new execution models. They are also roughly categorized for two kinds of systems: [[Shared memory|shared-memory]] system and [[Distributed memory|distributed-memory]] system, though the lines between them are largely blurred nowadays.
Line 9:
{{Create-list|date=February 2010}}
Models
* [[Algorithmic skeleton|Algorithmic Skeletons]]
* Components
* Distributed Objects
Line 28:
* [[Cilk]]
* [[Charm++]]
* [[Partitioned global address space]] languages:
** [[Co-array Fortran]],
** [[Unified Parallel C]],
** Titanium
Line 46:
* [[CUDA]]
* [[OpenCL]]
* [[AccelerEyes|
* [[NESL]]
* [[Scala (programming language)|Scala]]
Line 68:
* IBM’s [[X10 (programming language)|X10]]
* H. Shan and J. Pal Singh. A comparison of MPI, SHMEM, and Cache-Coherent Shared Address Space Programming Models on a Tightly-Coupled Multiprocessor. International Journal of Parallel Programming, 29(3), 2001.▼
* H. Shan and J. Pal Singh. Comparison of Three Programming Models for Adaptive Applications on the Origin 2000. Journal of Parallel and Distributed Computing, 62:241–266, 2002.▼
* About [[structured parallel programming]]: Davide Pasetto and [[Marco Vanneschi]]. ''[http://portal.acm.org/citation.cfm?id=898142&coll=&dl=GUIDE&CFID=15151515&CFTOKEN=6184618 Machine independent Analytical models for cost evaluation of template--based programs]'', [[University of Pisa]], 1996▼
==See also ==
*[[Automatic parallelization]]
Line 77 ⟶ 73:
* [[Partitioned global address space]]
==
▲* H. Shan and J. Pal Singh. A comparison of MPI, SHMEM, and Cache-Coherent Shared Address Space Programming Models on a Tightly-Coupled Multiprocessor. International Journal of Parallel Programming, 29(3), 2001.
▲* H. Shan and J. Pal Singh. Comparison of Three Programming Models for Adaptive Applications on the Origin 2000. Journal of Parallel and Distributed Computing, 62:241–266, 2002.
▲* About [[structured parallel programming]]: Davide Pasetto and [[Marco Vanneschi]]. ''[http://portal.acm.org/citation.cfm?id=898142&coll=&dl=GUIDE&CFID=15151515&CFTOKEN=6184618 Machine independent Analytical models for cost evaluation of template--based programs]'', [[University of Pisa]], 1996
==External links ==
* [http://www.oracle.com/technetwork/server-storage/solarisstudio/documentation/oss-parallel-programs-170709.pdf Developing Parallel Programs — A Discussion of Popular Models]
{{Parallel Computing}}
{{DEFAULTSORT:Parallel Programming Model}}
[[Category:Parallel computing|Programming model]]
[[Category:Programming paradigms]]
|