7.9 psb_bcast — Broadcast data
call psb_bcast(ctxt, dat [, root, mode, request])
This subroutine implements a broadcast operation based on the underlying
communication library.
-
Type:
- Synchronous.
-
On Entry
-
-
ctxt
- the communication context identifying the virtual parallel machine.
Scope: global.
Type: required.
Intent: in.
Specified as: an integer variable.
-
dat
- On the root process, the data to be broadcast.
Scope: global.
Type: required.
Intent: inout.
Specified as: an integer, real or complex variable, which may be a scalar,
or a rank 1 or 2 array, or a character or logical variable, which may be
a scalar or rank 1 array. Type, kind, rank and size must agree on all
processes.
-
root
- Root process holding data to be broadcast.
Scope: global.
Type: optional.
Intent: in.
Specified as: an integer value 0 <= root <= np - 1, default 0
-
mode
- Whether the call is started in non-blocking mode and completed later,
or is executed synchronously.
Scope: global.
Type: optional.
Intent: in.
Specified as: an integer, with the value determined by the bitwise OR of
psb_collective_start_, psb_collective_end_. Default: both fields are
selected (i.e. require synchronous completion).
-
request
- A request variable to check for operation completion.
Scope: local.
Type: optional.
Intent: inout.
If mode does not specify synchronous completion, then this variable must
be present.
-
On Return
-
-
dat
- On all processes other than root, the broadcasted data.
Scope: global.
Type: required.
Intent: inout.
Specified as: an integer, real or complex variable, which may be a scalar,
or a rank 1 or 2 array, or a character or logical scalar. Type, kind, rank
and size must agree on all processes.
-
request
- A request variable to check for operation completion.
Scope: local.
Type: optional.
Intent: inout.
If mode does not specify synchronous completion, then this variable must
be present.