GNU Unified Parallel C (GNU UPC)

gupc The GNU UPC toolset provides 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.


  • UPC Language Specification version 1.3 compliant
  • Based on GNU GCC
  • GPL licensed
  • Fast bit packed pointer-to-shared support
  • Configurable pointer-to-shared representation
  • Support for uniprocessor and symmetric multiprocessor systems
  • Runtime support for Infiniband based clusters with Portals 4.0 library support.
  • Support for many large scale machines and clusters in conjunction with Berkeley UPC runtime
  • Runtime support for UPC collectives
  • Runtime support for UPC thread affinity via Linux scheduling affinity and NUMA package
  • Runtime support for the UPC Atomic Memory Operations library defined in the UPC Specification version 1.3.
  • Runtime support for the UPC pointer-to-shared castability library defined in the UPC Specification version 1.3.
  • Runtime support for the UPC asynchronous shared memory bulk copy operations library defined in the UPC Specification version 1.3.
  • Runtime support for UPC thread backtrace
  • Runtime support for parallel debugging tools with MPIR capabilities
  • Runtime support for the STAT backtrace visualization tool
  • Binary packages for x86_64, ia64, i686
  • Binary packages for Linux Fedora, RHEL, SUSE, Ubuntu, CentOS, Mac OS X

Supported Platforms

At this time, GNU UPC is available on the following platforms:

Intel x86_64
Linux 64 bit uniprocessor or multiprocessor systems (RHEL, SUSE, Fedora, CentOS, Ubuntu)
Intel x86_64
Apple Mac OS X system
Intel x86
Linux 32 bit systems (Redhat based distributions)
IBM Power6/Power7 Linux based systems (including PERCS)

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


GNU UPC is implemented as an extension to the GNU C Compiler (GCC) and is distributed under the terms of the GNU General Public License.

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 GNU UPC discussion list. To subscribe to the GNU UPC list, send an email message to This email address is being protected from spambots. You need JavaScript enabled to view it. with the single word "subscribe" (without the quotes) in the body of the message, or visit the GNU UPC discussion list home page to review the list archives or manage your subscription.

Check out the mailing-list archive at the GWU archives site.

JSN Venture template designed by