Explicit parallelism: Difference between revisions

Content deleted Content added
WP:FEB24 +ref ce
Tags: Mobile edit Mobile web edit Advanced mobile edit
No edit summary
 
(2 intermediate revisions by one other user not shown)
Line 3:
{{Use mdy dates |date=February 2024}}
{{More citations needed |date=February 2024}}
In [[computer programming]], '''explicit parallelism''' is the representation of concurrent computations by means of using primitives in the form of operators, function calls or special-purpose directives.<ref name="pra11" /> Most parallel primitives are related to process synchronization, communication orand taskprocess partitioning.<ref name="dij68" /> As they seldomrarely contribute to actually carry out the intended computation of the program but, rather, structure it, their computational cost is often considered as overhead.
 
The advantage of explicit [[parallel programming]] is increased programmer control over the parallel executioncomputation. A skilled parallel programmer may take advantage of explicit parallelism to produce efficient code for a given target computation environment. However, programming with explicit parallelism is often difficult, especially for non-computing specialists, because of the extra work and skill involved in developing it.
The advantage of explicit [[parallel programming]] is the programmer
control over the parallel execution. A skilled parallel programmer may take advantage of explicit parallelism to produce efficient code for a given target computation environment. However, programming with explicit parallelism is often difficult, especially for
non-computing specialists, because of the extra work involved in planning
the task division and synchronization of concurrent processes.
 
In some instances, explicit parallelism may be avoided with the use of an optimizing compiler or runtime that automatically deduces the parallelism inherent to computations, known as [[implicit parallelism]].
 
==Programming languages that support explicit parallelism==
Line 26 ⟶ 23:
{{reflist |refs=
<ref name="dij68">{{cite journal |title=The structure of the "THE"-multiprogramming system|date=1968-05-01 |first=Edsger W. |last=Dijkstra |author-link=Edsger W. Dijkstra |journal=Communications of the ACM |volume=11 |issue=5 |pages=341–346 |doi=10.1145/363095.363143 }}</ref>
 
<ref name="pra11">{{cite conference |title=Parallel programming: design of an overview class |date=June 2011 |first=Christoph |last=von Praun |conference=Proceedings of the 2011 ACM SIGPLAN X10 Workshop |number=2 |pages=1–6 |doi=10.1145/2212736.2212738 }}</ref>
}}