A high-performing compiler that supports Unified Parallel C and is portable.
UPC employs a Single Program Multiple Data (SPMD) model of computation, with parallelism fixed at program startup time, typically with a single thread of execution per processor. The language extends ISO C 99 with constructs that allow programmers to express parallelism explicitly. These constructs include a shared address space, synchronization primitives, a memory consistency model, and memory management primitives.
One of the key advantages of UPC is that it combines the programmability benefits of the shared memory programming paradigm and the control over data layout and performance of the message passing programming paradigm.
Berkeley UPC is a highly portable, high-performance, and fully open-source implementation of the UPC language. It is designed for large-scale multiprocessors, PC clusters, and clusters of shared memory multiprocessors. It is also the first UPC implementation available for Mac OS X. It delivers competitive performance for supercomputing applications on the largest OS X clusters in the world. Additionally, it provides comprehensive support for developing UPC code on Mac OS X laptops and desktop workstations.
Version 2.10.0: N/A