GCC UPC

... Unified Parallel C

  • Increase font size
  • Default font size
  • Decrease font size
www.gccupc.org

GCC Unified Parallel C (GCC UPC)

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

The current version of GCC/UPC compiler is 4.3.2.5.

Features

  • UPC 1.2 specification compliant
  • Based on GNU GCC 4.3.2
  • GPL licensed
  • Fast bit packed shared pointer support
  • Configurable shared pointer representation
  • Pthreads support
  • GASP support, a performance tool interface for Global Address Space Languages
  • Run-time support for UPC collectives
  • Support for uniprocessor and symmetric multiprocessor systems
  • Support for UPC thread affinity via linux scheduling affinity and NUMA package
  • Compatible with Berkeley UPC run-time version 2.8 and up
  • Support for many large scale machines and clusters in conjunction with Berkeley UPC run-time
  • Binary packages for x86_64, ia64, x86, mips
  • Binary packages for Linux Fedora, SuSe, CentOS, Mac OS X, IRIX

Supported Platforms

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

  • Intel x86_64 Linux uniprocessor and symmetric multiprocessor systems (Fedora Core 11)
  • Intel ia64 (Itanium) Linux uniprocessor and symmetric multiprocessor systems (SuSe SEL 11)
  • Intel x86 Linux uniprocessor and symmetric multiprocessor systems (CentOS 5.3)
  • Intel x86 Apple Mac OS X uniprocessor and symmetric multiprocessor systems (Leopard 10.5.7+ and Snow Leopard 10.6)
  • Mips2 32-bit ABI and mips4 64-bit ABI (SGI IRIX 6.5)
  • Cray XT3/4/5 CNL and Catamount AMD Opteron based systems
  • Cray T3E Alpha processor based system
  • As a front-end to the Berkeley UPC Berkeley UPC runtime

Additionally, other GCC/UPC users have reported successful builds on Ubantu 9.04 platform. If you would like to learn of future ports to other platforms, or would like to discuss the feasibility of implementing GCC UPC on a platform of interest to you, we recommend that you join the GCC UPC discussion list.

Documentation

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

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

License

GCC 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 GCC UPC Discussion list

The GCC 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 GCC UPC discussion list. To subscribe to the GCC UPC list, send an email message to This e-mail 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 GCC 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.