GNU Unified Parallel C (GUPC)

GUPC Logo

The GNU UPC project implements a compilation and execution environment for programs written in the UPC (Unified Parallel C) language. The GNU UPC compiler extends the capabilities of the GNU GCC compiler. The GUPC compiler is implemented as a C Language dialect translator, in a fashion similar to the implementation of the GNU Objective C compiler.

Project Goal

To encourage the use and adoption of UPC, GUPC provides a free, generally available implementation of the UPC language dialect. By implementing UPC, GUPC provides a high-level tool for creating software targeted at parallel architectures. The UPC language makes it easier to express algorithms that run on parallel, High Performance Computing (HPC) systems.

The GUPC release includes a support library, libupc, and extensions to the "C" parser that recognizes the UPC language syntax.

Features

Supported Platforms

At this time, GUPC has been tested on the following platforms:

If you would like to learn of future ports to other platforms, or would like to discuss the feasibility of implementing GUPC on a platform of interest to you, we recommend that you join the GUPC discussion list.

Download

The latest release of GUPC can be downloaded from gccupc.org.

Alternatively, read-only SVN access to the GUPC branch can be used to acquire the latest development source tree:

svn checkout svn://gcc.gnu.org/svn/gcc/branches/gupc

Documentation

For a list of configuration switches that you can use to build GUPC, consult the GUPC configuration page.

For a quick summary of the switches used to compile and link a UPC program, consult the GUPC manual page.

The GNU UPC Discussion List

The GNU UPC Discussion list provides a forum for tracking the status of UPC compilers based on the GNU GCC compiler. Announcements of new compiler ports, future plans, as well as known problems will be posted to the GUPC discussion list. To subscribe to the GNU UPC list, send an email message to gcc-upc-request@hermes.gwu.edu with the single word "subscribe" (without the quotes) in the body of the message, or visit the mailing list sign up page.

Contributing

We encourage everyone to contribute changes and help test GUPC. GUPC is currently an SVN branch. We provide read access to our development sources for everybody with anonymous SVN.

Reporting Bugs

Bugs in GUPC should be reported to the GCC bug tracker. Please add "UPC" to the keywords field in the bug report.

Status

February 28, 2010

Merged with the current GCC trunk, and checked into the gupc branch.