Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Unified Parallel C

From Wikipedia, the free encyclopedia
Extension of the C programming language
This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages)
This article includes alist of references,related reading, orexternal links,but its sources remain unclear because it lacksinline citations. Please helpimprove this article byintroducing more precise citations.(April 2023) (Learn how and when to remove this message)
icon
This articlerelies excessively onreferences toprimary sources. Please improve this article by addingsecondary or tertiary sources.
Find sources: "Unified Parallel C" – news ·newspapers ·books ·scholar ·JSTOR
(December 2011) (Learn how and when to remove this message)
(Learn how and when to remove this message)
Unified Parallel C (UPC)
Paradigmparallel,message passing,imperative (procedural),structured
Designed byUPC Consortium
Stable release
2022.10.0/October 28, 2022 (2022-10-28)
Typing disciplinestatic,weak,manifest
OSCross-platform
Websiteupc-lang.org
Majorimplementations
Clang UPC,GNU UPC,IBM XL UPC Compilers,HP UPC,Berkeley UPC,Michigan Tech MuPC, Cray UPC
Influenced by
C, AC,Split-C, Parallel C Preprocessor

Unified Parallel C (UPC) is an extension of theC programming language designed forhigh-performance computing on large-scaleparallel machines, including those with a common globaladdress space (SMP andNUMA) and those withdistributed memory (e.g.clusters). Theprogrammer is presented with a singlepartitioned global address space, where shared variables may be directly read and written by anyprocessor, but each variable is physically associated with a single processor. UPC uses asingle program, multiple data (SPMD) model of computation in which the amount of parallelism is fixed at program startup time, typically with a singlethread of execution per processor.

In order to express parallelism, UPC extendsISO C 99 with the following constructs:

  • An explicitly parallel execution model
  • A shared address space (shared storage qualifier) with thread-local parts (normal variables)
  • Synchronization primitives and a memory consistency model
  • Explicit communication primitives, e.g.upc_memput
  • Memory management primitives

The UPC language evolved from experiences with three other earlier languages that proposed parallel extensions to ISO C 99: AC,Split-C, and Parallel C preprocessor (PCP). UPC is not asuperset of these three languages, but rather an attempt to distill the best characteristics of each. UPC combines the programmability advantages of the shared memory programming paradigm and the control over data layout and performance of themessage passingprogramming paradigm.

See also

[edit]

External links

[edit]
Features
Standard library
Implementations
Compilers
IDEs
Comparison with
other languages
Descendant
languages
Designer
General
Levels
Multithreading
Theory
Elements
Coordination
Programming
Hardware
APIs
Problems
Authority control databases: NationalEdit this at Wikidata
Retrieved from "https://en.wikipedia.org/w/index.php?title=Unified_Parallel_C&oldid=1323989254"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp