Unified Parallel C

Unified Parallel C

Unified Parallel C (UPC) is an extension of the C programming language designed for high-performance computing on large-scale parallel machines, including those with a common global address space (SMP and NUMA) and those with distributed memory (eg. clusters). The programmer is presented with a single shared, partitioned address space, where variables may be directly read and written by any processor, but each variable is physically associated with a single processor. UPC uses a Single Program Multiple Data (SPMD) model of computation in which the amount of parallelism is fixed at program startup time, typically with a single thread of execution per processor.

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

* An explicitly parallel execution model
* A shared address space
* Synchronization primitives and a memory consistency model
* 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 a superset 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 the message passing programming paradigm.

Compiler support

UPC has been implemented in some commercial and research compilers, including
* [http://www.hp.com/go/upc HP Unified Parallel C (UPC)]
* Cray UPC
* [http://www.alphaworks.ibm.com/tech/upccompiler IBM XL UPC Compilers]
* [http://upc.lbl.gov/ Berkeley UPC]
* [http://www.intrepid.com/upc.html GCC UPC]
* [http://www.upc.mtu.edu/ Michigan Tech MuPC]

See also

* Co-array Fortran
* High Performance Fortran
* OpenMP
* Parallel programming model
* Software transactional memory
* Partitioned global address space

External links

* [http://upc.gwu.edu/ Primary webpage of the Unified Parallel C]
* [https://upc-wiki.lbl.gov/UPC/index.php/Main_Page UPC Wiki]


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Unified Parallel C — (UPC) Класс языка: параллельный, императивный (процедурный), структурный Автор(ы): UPC Consortium Релиз: 2.12.2/2011 5 18 Типизация данных: статическая Основные реализации …   Википедия

  • Unified Parallel C — (UPC) est une extension du langage de programmation C conçue pour les calculs hautes performances sur des supercalculateurs calcul parallèle, y compris les architectures à espace d adressage global (SMP et NUMA) et celles à mémoire distribuée… …   Wikipédia en Français

  • Unified Parallel C — (UPC) es una extensión del lenguaje de programación C diseñado para computación de alto rendimiento en máquinas paralelas, incluyendo tanto aquellas con un espacio de memoria global (SMP y NUMA) como aquellas con un espacio de memoria distribuido …   Wikipedia Español

  • Unified Parallel C — (UPC) Paradigmen: imperativ, strukturiert, parallel Erscheinungsjahr: 1999 Entwickler: UPC Consortium Aktuelle Version: 1.2   …   Deutsch Wikipedia

  • Unified Parrallel C — Saltar a navegación, búsqueda Unified Parallel C (UPC) es una extensión del lenguaje de programación C diseñado para computación de alto rendimiento en máquinas paralelas, incluyendo tanto aquellas con un espacio de memoria global (SMP y NUMA)… …   Wikipedia Español

  • Parallel C — may refer to: * Unified Parallel C, an extension of the C programming language designed for high performance computing on large scale parallel machines * an unimplemented programming language that influenced the design of C* * C for the… …   Wikipedia

  • Parallel adoption — is a method for transferring between an old (IT) system to a target (IT) system in an organization. In order to reduce risk, the old and new system run simultaneously for some period of time after which, if the criteria for the new system are met …   Wikipedia

  • Unified Memory Access — is not a valid term, but is often used mistakenly, when referring to: *Uniform Memory Access, a computer memory architecture used in parallel computers. *Unified Memory Architecture, a technology that allows a Graphics Processing Unit to share… …   Wikipedia

  • Unified Team at the 1992 Summer Olympics — Infobox Country Olympics NOC=EUN flagcaption=The Unified Team used the Olympic flag games=1992 Summer competitors=475 (310 men and 165 women) sports=27 flagbearer=Aleksandr Karelin gold=45 silver=38 bronze=29 total=112 rank=1 summerappearances =… …   Wikipedia

  • Unified Process — Der Rational Unified Process (RUP) ist ein objektorientiertes Vorgehensmodell zur Softwareentwicklung und ein kommerzielles Produkt der Firma Rational Software, die seit 2002 Teil des IBM Konzerns ist. IBM entwickelt den RUP und die zugehörige… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”