[LBNL]

Berkeley UPC - Unified Parallel C

(A joint project of LBNL and UC Berkeley)
[UCB]

Home
Downloads
Documentation
Bugs
Publications
Demos
Contact
Internal

Outages of upc-bugs.lbl.gov and primary translator: December 26, 2014

Notice to all Berkeley UPC users:
Maintenance on the lbl.gov network is planned for 8:00am to 3:30pm (Pacific Standard Time = UTC-0800) on December 26, and will impact the Bugzilla server at upc-bugs.lbl.gov (aka mantis.lbl.gov). The primary BUPC internet translator will also be impacted, but the upc-translator.lbl.gov alias will be directed to the secondary server for the duration of the maintenance. Therefore, Berkeley UPC compilations using the default translator URL should be unaffected, and only builds explicitly using aphid.lbl.gov will be impacted.


NEW October 28 2014 -- Berkeley UPC version 2.20.0 released!

The UPC Language


About this UPC program

About this UPC program

 Unified Parallel C (UPC) is an extension of the C programming language designed for high performance computing on large-scale parallel machines.The language provides a uniform programming model for both shared and distributed memory hardware. 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:


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.


Our work at UC Berkeley/LBNL

Berkeley UPC downloads since 01/May/2005
Berkeley UPC Runtime Source 10338
Berkeley UPC Translator Source 5854
Berkeley UPC Cygwin Binary 2974
Berkeley UPC MacOS Binary 10010
Combined Total 29176

The goal of the Berkeley UPC compiler group is to develop a portable, high performance implementation of UPC for large-scale multiprocessors, PC clusters, and clusters of shared memory multiprocessors.  We are actively developing an open-source UPC compiler suite whose goals are portability and high-performance.

There are several major components to this effort:

Some of the research findings from these areas of work can be found on our publications page.


Group Members

Katherine Yelick - Advisor, PI
Dan Bonachea - GASNet, Runtime Paul Hargrove - GASNet, Runtime Amir Kamil
Khaled Ibrahim - GASNet Costin Iancu - Compiler Yili Zheng - GASNet, Runtime
Michael Driscoll - Graduate Student Evangelos Georganas - Graduate Student Penporn Koanantakool - Graduate Student

General contact info

Alumni Members:
Christian Bell, Filip Blagojevic, Wei Chen, Jason Duell, Parry Husbands, Eric Hoffman, Seung-Jai Min, Rajesh Nishtala, Chang-Seo Park, Mike Welcome

The Berkeley UPC project is funded by the DOE Office of Science and the Department of Defense.

Related Links


Home
Downloads
Documentation
Bugs
Publications
Demos
Contact
Internal

This page last modified on Thursday, 04-Dec-2014 20:29:04 PST