Berkeley UPC - Unified Parallel C

(A joint project of LBNL and UC Berkeley)


Intermittent outages for upc-bugs.lbl.gov and primary translator: December 12 and 15, 2014

Notice to all Berkeley UPC users:
The network for the Berkeley UPC Bugzilla site at upc-bugs.lbl.gov (aka mantis.lbl.gov) will experience multiple intermittent outages (estmated at 5 to 30 minutes each) due to maintenance activities on the dates indicated above. The primary BUPC internet translator will also be impacted, but the upc-translator.lbl.gov alias will be directed to the secondary server for the duration of the maintenance. Therefore, Berkeley UPC compilations using the default translator URL should be unaffected, and only builds explicitly using aphid.lbl.gov will be impacted.

Berkeley UPC source downloads

The Berkeley UPC Runtime/driver package (source distribution):

Berkeley UPC runtime (and compiler driver) , Version 2.20.0

Note: on Microsoft Windows you need Cygwin installed to build Berkeley UPC from source.
berkeley_upc-2.20.0.tar.gz (6.6MB)

MD5 Hash = e6d4972b1509057eae15425274aad688

Change log Browse the archive
Install Instructions   User Documentation
Previous releases Download mirror

The runtime works on all our supported platforms.

The runtime distribution includes the GASNet portable networking library--if you wish to download GASNet separately, you can get it from the GASNet website.

The Berkeley UPC-to-C translator (source distribution):

The Berkeley UPC-to-C translator, version 2.20.0 berkeley_upc_translator-2.20.0.tar.gz (6.9MB)

MD5 Hash = 4b3088b6357abd3490ef834a2c3ff770

Install Instructions   User Documentation
Previous releases Download mirror

Our UPC-to-C translator is based on the Open64 open source compiler. Unfortunately, due to C++ portability issues the translator does not build on as many systems as our runtime.

If you cannot build the translator on your target architecture, you still have the option of using your own translator: just build it on a different, supported machine, and then have your runtime access it via either HTTP or SSH. This is mainly useful if you have a private subnet that is not connected to the Internet. Instructions for setting up HTTP/SSH access are in the runtime's INSTALL.TXT file.
The system configurations that have been extensively tested for hosting the translator are:
  • Linux x86
  • Linux x86-64 (32- or 64-bit)
  • Linux IA64 (64-bit only)
  • Linux PowerPC (32- or 64-bit)
  • Apple OSX PowerPC, 10.3 and up (32- or 64-bit)
  • Apple OSX Intel x86, 10.4 and up (32- or 64-bit) [gcc only, not clang]
The following are less extensively tested and considered experimental:
  • Solaris 10 Intel (i86pc) (32- or 64-bit)
  • Solaris 10 SPARC (32- or 64-bit)
  • FreeBSD i386 (32-bit only)
  • FreeBSD amd64 (64-bit only)
  • OpenBSD i386 (32-bit only)
  • OpenBSD amd64 (64-bit only)
  • NetBSD i386 (32-bit only)
  • NetBSD amd64 (64-bit only)
  • Linux mips64el (SiCortex) (64-bit only)
  • Linux ARM (32-bit only)
The following are no longer supported, but were still working when we were last able to test them:
  • Compaq/HP Tru64/Alpha (64-bit only)
  • IBM AIX PowerPC (32-bit only)

On all of these platforms, 'g++' version 3.4 or above was used. Success has been reported using older versions of g++, but this is not regularly tested. Most of our testing is done with g++ 4.x.

You must have GNU 'make' and 'perl' on your system.

Release notes and instructions on how to build the translator are contained in the README file in the top-level directory.

If you're simply curious in seeing how our source-to-source translation works, you can inspect the generated C code using the upcc -trans option, or try our Online UPC-to-C translation utility.



This page last modified on Sunday, 07-Dec-2014 21:52:41 PST