Berkeley UPC - Unified Parallel C

(A joint project of LBNL and UC Berkeley)


Change of server for upc.lbl.gov: October 25, 2016

Notice to all Berkeley UPC users:
The Berkeley UPC web site at upc.lbl.gov (downloads, documentation, publications, etc), will be relocated from its current server to newer hardware in on Tuesday October 25.
The transition is intended to be transparent, but we are anticipating some minor complications due to the transition. Please be patient with us on that day.
The outage is NOT expected to affect the primary BUPC internet translator (upc-translator.lbl.gov).
So Berkeley UPC compilations using the internet translator should be unaffected.
Similarly the Berkeley Bugzilla server should also be unaffected.

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

The Berkeley UPC-to-C translator, version 2.24.0

On Mac OS X, Berkeley UPC requires the Apple Xcode command line tools.
The Berkeley UPC-to-C translator cannot run locally on Microsoft Windows.
Source Download: berkeley_upc_translator-2.24.0.tar.gz (6.9MB)

MD5 Hash = 835212a8eaf65d2deff23544516dcad6

Install Instructions   User Documentation
Previous releases Download mirror

In order to use this translator, you must also install the Berkeley UPC Runtime on the target system(s).

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 PowerPC (32- or 64-bit)
  • Apple OSX Intel x86 (32- or 64-bit) [gcc only, not clang]
The following are less extensively tested and considered experimental:
  • Solaris 11 Intel (i86pc) (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 ARM (32-bit only)
  • Linux ARM64 (64-bit only)
The following are no longer supported, but were still working when we were last able to test them:
  • Linux IA64 (64-bit only)
  • Linux mips64el (SiCortex) (64-bit only)
  • Apple OSX PowerPC (32- or 64-bit)
  • Solaris 10 Intel (i86pc) (32- or 64-bit)
  • Solaris 10 SPARC (32- or 64-bit)
  • 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 and 5.x.

You must have GNU 'make', 'perl' and 'csh' 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, 23-Oct-2016 17:57:36 PDT