Clang UPC Tool Set
The Clang UPC toolset provides a compilation and execution environment for programs written in the UPC language. The Clang UPC compiler extends the capabilities of the Clang front-end for the LLVM compiler.
- Jan 21, 2022: Clang UPC2C 9.0.1-2 released
- Jan 21, 2022: Clang UPC 3.9.1-2 released
Clang UPC to C Translator (Clang UPC2C)
The Clang UPC to C translator uses the Clang UPC infrastructure to translate UPC into C code.
Berkeley UPC provides a compiler driver and UPC runtime library for effective usage of the Clang UPC2C translator, including for distributed UPC applications.
More info: Clang UPC2C webpage
Clang UPC is an implementation of the UPC language using the Clang and LLVM framework.
As with Clang UPC2C, Berkeley UPC provides a compiler driver and UPC runtime library which can be used with Clang UPC for distributed environments. However, Clang UPC can also be used alone for single-node application runs.
More info: Clang UPC webpage
Info on past projects related to the Clang UPC infrastructure is available here
Other UPC Links
Main UPC language web site with tutorials and references.
This link downloads version 1.3 of the UPC language and library specifications.
Berkeley UPC project page. Clang UPC2C and Clang UPC can both be used together with the Berkeley UPC compiler driver and runtime, allowing the execution of UPC programs on large-scale multiprocessors, PC clusters, and clusters of shared memory multiprocessors.
UPC compiler based on the GNU GCC. All the GNU UPC features are also available in Clang UPC.