请输入您要查询的百科知识:

 

词条 Unified Parallel C
释义

  1. See also

  2. External links

{{primary sources|date=December 2011}}{{Infobox programming language
| name =Unified Parallel C (UPC)
| logo =
| paradigm = parallel, message passing, imperative (procedural), structured
| year =
| designer = UPC Consortium
| developer =
| latest_release_version = 1.3/{{release date|2013|11}}
| typing = static, weak, manifest
| implementations =GNU UPC, IBM XL UPC Compilers, [https://archive.is/20121208172611/http://www.hp.com/go/upc HP UPC], Berkeley UPC, [https://web.archive.org/web/20080618192748/http://www.upc.mtu.edu/ Michigan Tech MuPC], Cray UPC
| dialects =
| influenced_by =C, AC, Split-C, Parallel C Preprocessor
| influenced =
| operating_system = Cross-platform
| website = {{URL|upc-lang.org}}
| file_ext =
}}

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 (e. g. 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
  • 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 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.

See also

  • Cilk
  • Coarray Fortran
  • Chapel
  • X10
  • High Performance Fortran
  • OpenMP
  • Partitioned global address space
  • Parallel programming model
  • Software transactional memory

External links

  • {{official website|upc-lang.org}}
  • UPC at LBNL
  • UPC at GWU
  • GNU UPC
  • UPC Tutorial (2003)
{{C programming language |state=collapsed}}{{Parallel computing}}

3 : Concurrent programming languages|Parallel computing|C programming language family

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/21 5:43:40