GNU UPC

... Unified Parallel C

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

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. The GNU UPC compiler is implemented as a C Language dialect translator, in a fashion similar to the implementation of the GNU Objective C compiler.

Features

  • UPC 1.2 specification compliant
  • Based on GNU GCC
  • GPL licensed
  • Fast bit packed pointer-to-shared support
  • Configurable pointer-to-shared 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
  • Support for many large scale machines and clusters in conjunction with Berkeley UPC run-time
  • Binary packages for x86_64, ia64, i686, mips
  • Binary packages for Linux Fedora, SUSE, Ubuntu, CentOS, Mac OS X, IRIX

Supported Platforms

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

  • Intel x86_64 Linux uniprocessor and symmetric multiprocessor systems (Fedora Core 15, Ubuntu 11.4, OpenSuSE 11.4, Scientific Linux 6.1)
  • Intel ia64 (Itanium) Linux uniprocessor and symmetric multiprocessor systems (SUSE SEL 11)
  • Intel i686 Linux uniprocessor and symmetric multiprocessor systems (CentOS 5.7)
  • Intel x86_64 Apple Mac OS X uniprocessor and symmetric multiprocessor systems (Snow Leopard 10.6 and Lion 10.7)
  • Mips2 32-bit ABI and mips4 64-bit ABI (SGI IRIX 6.5) (GNU UPC Version 4.3.2.5)
  • Cray XT3/4/5 CNL and Catamount AMD Opteron based systems
  • Cray T3E Alpha processor based system (GNU UPC Version 3.4.4.1)
  • As a front-end to the Berkeley UPC Berkeley UPC runtime

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.

Documentation

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

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

License

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 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 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.

You are here: