PCU

PCU (the Parallel Control Utility) is a library for parallel computation based on MPI. PCU provides three things to users: 1. A hybrid phased message passing system 2. Hybrid collective operations

Phased message passing is similar to Bulk Synchronous Parallel. All messages are exchanged in a phase, which is a collective operation involving all threads in the parallel program. During a phase, the following events happen in sequence: 1. All threads send non-blocking messages to other threads 2. All threads receive all messages sent to them during this phase PCU provides termination detection, which is the ability to detect when all messages have been received without prior knowledge of which threads are sending to which.

The API documentation is here: pcu.c

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines