The limitations of the standard collective relocalization operations justify the need for extended versions which provide more flexibility to the programmer. The MPI library provides a set of collective operations as well as their variants. The proposed extensions for UPC closely follow MPI's approach. However, there are subtle differences in the programming models, which naturally translates to syntax differences. It is important to note that MPI does not provide anything analogous to UPC's permute operation; nor is synchronization as big of an issue with collective operations in MPI as it is in UPC. For each standard UPC collective function, there can be two variants. In the "vector" variant, each block of data can be of different size; and it allows the function to pick distinct non-contiguous data-blocks. The second variant is a further generalization of the first variant. In this case, the programmer may explicitly specify each data-block and their size.


UPC Extended Collective Operations Specification, v0.3

Author(s): Z. Ryne and S. Seidel
( pdf | tex )

A Specification of the Extensions to the Collective Operations of Unified Parallel C

Technical Report 05-08, Michigan Technological University, Department of Computer Science (2005)
Author(s): Z. Ryne and S. Seidel
( pdf | ps )

Reference implementation

Last modified 9/15/6