If the completion
of the procedure depends only on the
local executing process. Such an operation does not require an
explicit communication with another user process.
MPI calls that generate local objects or query the status of local
objects are local.
local

non-local

If completion of the procedure may require
the execution of some MPI procedure on another process.
Many MPI communication calls are non-local.
non-local

blocking

If return from the procedure indicates the user
is allowed to re-use resources specified in the call.
Any visible change in the state of the calling process affected by a blocking
call occurs before the call returns.
blocking

nonblocking

If the procedure may return before the
operation initiated by the call completes, and before the user is
allowed to re-use
resources (such as buffers) specified in the call.
A nonblocking call may initiate changes in the state of the calling
process that actually take place after the call returned: e.g. a
nonblocking call can initiate a receive operation, but the message is
actually received after the call returned.
non-blocking

collective

If all processes in a process group need
to invoke the procedure.
collective