Berkeley UPC - Unified Parallel C(A joint project of LBNL and UC Berkeley)
Berkeley UPC downloads
There are two main steps to get UPC running on your system using the Berkeley UPC Runtime. You will need to build from source on your system, and there are several ways to do this depending on what option(s) you want for UPC translation/compilation.
Berkeley UPC runtime (and compiler driver), version 2019.4.4
MD5 Hash = 84a0cd29dba59b53bce6c6e64c65aa3b
The runtime distribution includes the GASNet portable networking library--if you wish to download GASNet separately, you can get it from the GASNet website.
INSTALL.TXT explains how to configure and build the Berkeley UPC runtime, including optional directions for configuring the 'upcc' driver to use any of the five UPC compiler options listed in the next step. The 'upcc' compiler driver defaults to transparently using a public HTTP-based translator for UPC compilation. Provided your system will have an Internet connection during UPC compilation, this is the easiest and quickest install to get started (and you can stop here).
The current release of Berkeley UPC has been tested and is known to work on the following system configurations:
|Platform Characteristic:||Tested/supported configurations|
|Network Hardware / API||SMP, MPI 1.1 and higher, Ethernet UDP, OpenIB InfiniBand verbs, Cray XC Aries, IBM PAMI (for IBM Power 775, BlueGene/Q and others - deprecated)|
|Operating Systems||Linux, macOS, Microsoft Windows (Cygwin or WSL), Solaris, FreeBSD, NetBSD, OpenBSD, various compute-node kernels|
|CPU / System Architecture||x86, x86-64, PowerPC, Cray XC series, Intel KNL, IBM BlueGene/Q, ARM, AARCH64, MIPS, SPARC v8+|
|C compiler||Gnu (gcc 3.0 and up), LLVM/Apple (Clang 2.8 and up), Intel, Portland Group (pgcc 7.2-5 and up), Sun/Oracle, IBM, Cray|
Most combinations of the platforms above are supported and functional, and other unlisted platforms may work as well. See the GASNet README for the specific combinations that we've personally tested. Many of the systems listed above support both a vendor-specific C compiler and can also use gcc as the underlying C compiler - we generally recommend the vendor C compiler for performance reasons.
Note: on some of these platforms, the Berkeley UPC runtime works, but the Berkeley UPC-to-C translator does not. In such a case, you'll likely want the default upcc configuration which uses our internet-based BUPC translator for building UPC programs, or alternatively can consider one of the other UPC translation options. See here for a list of platforms where a local install of the Berkeley UPC translator is known to work.
We are interested in supporting Berkeley UPC on as wide a variety of parallel systems as possible. If your system or network is not supported, and you are willing to let us use your resources for development, please contact us.
You may also send email to our mailing list for UPC users:
We are interested in supporting the runtime on as wide a variety of parallel systems as possible. If your system or network is not supported, and you are willing to let us use your resources for development, please contact us.
We very much appreciate your feedback.
This page last modified on Thursday, 19-Sep-2019 15:19:05 PDT