The MPI port of Parti/CHAOS, by Kivanc Dincer of NPAC, augments the basic F90D runtime system. CHAOS supports runtime scheduling of irregular computations by implementing the inspector/executor model.
The pC++ system, developed by Dennis Gannon et al of Indiana University, extends C++ to support data-parallel operations over collections of objects. These collections can then be aligned and distributed over the memory hierarchy of the parallel machine. pC++ also includes a mechanism for encapsulating SPMD-style computation in a thread-based computing model. The MPI-based implementation of the pC++ runtime system allows processor threads to access remote elements from any processor via the pC++ program's shared name space. On behalf of the pC++ user, the MPI runtime system handles allocation of collection classes, the management of element accesses, and termination of parallel collection operations.
The Adlib runtime system ([28]), developed by Bryan Carpenter of NPAC, provides a set of abstract data types representing parallel arrays. Written in C++ with calls to MPI, Adlib provides the runtime support for the Subset HPF compiler system. As in HPF, an Adlib array can be distributed over a logical process array, which the library maps transparently to available physical processors. Adlib also provides control abstractions for data-parallel array traversal, as well as common collective communication patterns such as remap, gather-scatter, and arithmetic reduction.