Berkeley UPC - Unified Parallel C(A joint project of LBNL and UC Berkeley)
Berkeley UPC runtime (and compiler driver), version 2.20.2
Note: on Microsoft Windows you need to have Cygwin installed to build Berkeley UPC from source.
Note: on MacOS X you need to have Apple Xcode installed to build Berkeley UPC from source, and you should configure with CC=cc CXX=c++ to ensure you are using the same C and C++ compilers as Xcode.
MD5 Hash = 39041485b42e132e8aaa586b7cf88ae5
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, version 2.20.2
Note: one cannot build the Berkeley UPC-to-C translator on Microsoft Windows.
Note: on MacOS X you must configure with CC=gcc CXX=g++ to ensure you are using the GNU compilers (not clang). Depending on your version of Xcode you may need extra steps to install gcc and g++.
MD5 Hash = 7ed3ce8aebae988c4c40be0044977978
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:
The following are less extensively tested and considered experimental:
- Linux x86
- Linux x86-64 (32- or 64-bit)
- Linux IA64 (64-bit only)
- Linux PowerPC (32- or 64-bit)
- Apple OSX PowerPC (32- or 64-bit)
- Apple OSX Intel x86 (32- or 64-bit) [gcc only, not clang]
The following are no longer supported, but were still working when we were last able to test them:
- 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 ARM (32-bit only)
- Linux ARM64 (64-bit only)
- Linux mips64el (SiCortex) (64-bit only)
- 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', '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 Monday, 27-Apr-2015 16:50:05 PDT