Projects / Berkeley Unified Parallel C

Berkeley 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. 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. Berkeley UPC provides a portable, high-performance compiler for developing UPC software on systems ranging from clusters to custom supercomputers and even laptop-grade systems.

Operating Systems

Recent releases

  •  31 Oct 2012 00:12

    Release Notes: Updates, bugfixes, enhancements, and support for new platforms.

    •  20 Oct 2011 22:37

      Release Notes: This release adds support for the Gemini interconnect of the Cray XE and assorted minor bugfixes.

      •  03 Jan 2011 19:32

        Release Notes: Numerous bugfixes and enhancements.

        •  21 May 2010 02:53

          Release Notes: Numerous bugs were fixed, and several performance and portability improvements were made.

          •  04 Nov 2009 07:33

            Release Notes: Support was extended to Mac OS X 10.6 (Snow Leopard) and to more recent systems software releases on Cray XT and IBM BG/P. Performance improvements and bugfixes were made on many supported networks. Numerous code generation bugs were fixed. Usability fixes were made for many platforms.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.