@ -119,15 +119,17 @@ psb_comm_status_wait_ (complete a previously started exchange)
psb_comm_status_sync_ (start + wait in one call; the default)
psb_comm_status_sync_ (start + wait in one call; the default)
```
```
```mermaid
```
stateDiagram-v2
synchronous (default): unknown --> sync --> sync --> ...
[*] --> unknown
split-phase: unknown --> start --> wait --> start --> wait --> ...
unknown --> sync: mode = sync
unknown --> start: mode = start
transitions (driven by the mode argument):
sync --> sync: repeated synchronous exchanges
unknown --(mode=sync)--> sync single-call exchange (post + complete)
start --> wait: mode = wait
unknown --(mode=start)--> start post sends/recvs, then return
wait --> start: next split-phase exchange
start --(mode=wait)--> wait complete the started exchange
wait --> sync: switch back to synchronous
wait --(mode=start)--> start begin the next split-phase exchange
wait --(mode=sync)--> sync switch back to synchronous
sync --(mode=sync)--> sync repeated synchronous exchanges
```
```
In the scheme implementations the two phases map onto the obvious MPI pairs, for
In the scheme implementations the two phases map onto the obvious MPI pairs, for