In computing, a parallel programming model is an abstraction of parallel computer architecture, with which it is convenient to express algorithms and their composition in programs. The value of a programming model can be judged on its generality: how well a range of different problems can be expressed for a variety of different architectures, and its performance: how efficiently the compiled programs can execute.[1] The implementation of a parallel programming model can take the form of a library invoked from a programming language, as an extension to an existing languages.
Consensus around a particular programming model is important because it leads to different parallel computers being built with support for the model, thereby facilitating portability of software. In this sense, programming models are referred to as bridging between hardware and software.[2]
^Skillicorn, David B., "Models for practical parallel computation", International Journal of Parallel Programming, 20.2 133–158 (1991), https://www.ida.liu.se/~chrke55/papers/modelsurvey.pdf
^Leslie G. Valiant, "A bridging model for parallel computation", Communications of the ACM, Volume 33, Issue 8, August, 1990, pages 103–111.
and 25 Related for: Parallel programming model information
In computing, a parallelprogrammingmodel is an abstraction of parallel computer architecture, with which it is convenient to express algorithms and their...
A programmingmodel is an execution model coupled to an API or a particular pattern of code. In this style, there are actually two execution models in...
synchronization constructs whose behavior is defined by a parallel execution model. A concurrent programming language is defined as one which uses the concept...
standardize parallelprogramming include an open standard called OpenHMPP for hybrid multi-core parallelprogramming. The OpenHMPP directive-based programming model...
In computer programming, dataflow programming is a programming paradigm that models a program as a directed graph of the data flowing between operations...
parallel programmingmodel for developing high-performance embedded system applications. Goodyear MPP was an early implementation of a massively parallel computer...
the performance of a data parallelprogrammingmodel. Locality of data depends on the memory accesses performed by the program as well as the size of the...
Unified Parallel C (UPC) is an extension of the C programming language designed for high-performance computing on large-scale parallel machines, including...
computer science, partitioned global address space (PGAS) is a parallelprogrammingmodel paradigm. PGAS is typified by communication operations involving...
Dataflow programming Grid computing LogP machine Parallel computing Parallelprogrammingmodel Leslie G. Valiant, A bridging model for parallel computation...
language and insert API calls to parallel execution models via a programmingmodel. Such parallelprogrammingmodels can be classified according to abstractions...
Molecular Dynamics Program) is computer software for molecular dynamics simulation, written using the Charm++ parallelprogrammingmodel (not to be confused...
Logic programming is a programming, database and knowledge representation paradigm based on formal logic. A logic program is a set of sentences in logical...
standard Go—for system programming, with a concurrent programmingmodel based on CSP Haskell—concurrent, and parallel functional programming language Hume—functional...
PGAS may refer to: Partitioned global address space, a parallelprogrammingmodel in computer science Provisional Government of Autonomous Siberia, an...
volunteer computing projects Model checking OpenHarmony HarmonyOS Parallel distributed processing Parallelprogrammingmodel Plan 9 from Bell Labs Shared...
Unified Device Architecture (CUDA) is a proprietary parallel computing platform and application programming interface (API) that allows software to use certain...
implementation details of parallel runtime systems. A notable example of a parallel runtime system is Cilk, a popular parallelprogrammingmodel. The proto-runtime...
encompasses dataflow programming, reactive programming, and distributed data processing. Stream processing systems aim to expose parallel processing for data...
working in parallel, an MPPA chip can accomplish more demanding tasks than conventional chips. MPPAs are based on a software parallelprogrammingmodel for developing...
scan functions provided by a few programming languages and libraries: The directive-based OpenMP parallelprogrammingmodel supports both inclusive and exclusive...
Python, the execution model of the Unified Parallel C (UPC) programming language, a discussion of various classes of execution model such as for imperative...
The parallelization contract or PACT programmingmodel is a generalization of the MapReduce programmingmodel and uses second order functions to perform...