Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
Freenet DSL
Who's Online
12 user(s) are online (10 user(s) are browsing encyclopedia)

Members: 0
Guests: 12

more...
browser tip
recommendation!
Sponsored
partner

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 (Symmetric multiprocessing and Non-Uniform Memory Access) and those with distributed memory (eg. Computer cluster). 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 (computer science) 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.

    = See also =

  • High Performance Fortran
  • = External links =

  • [http://www.upcworld.org Primary webpage of the Unified Parallel C]