GNU Unified Parallel C (GNU UPC)
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.
- UPC 1.2 specification compliant
- Support for proposed UPC Language Specification version 1.3 features
- 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 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 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, MIPS, PowerPC
- Binary packages for Linux Fedora, RHEL, SUSE, Ubuntu, CentOS, Mac OS X, and SGI/IRIX
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 (Snow Leopard, Lion, and Mountain Lion)
- Intel x86
- Linux 32 bit systems (Redhat based distributions)
- IBM PowerPC
- 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
Check out the mailing-list archive at the GWU archives site.