These subroutines scatters the portions of global dense matrix owned
by a process to all the processes in the processes grid.
where:
is the global matrix
is the local portion of global dense matrix on
process .
is the scatter function.
Table 17:
Data types
Subroutine
Integer
psb_scatter
Short Precision Real
psb_scatter
Long Precision Real
psb_scatter
Short Precision Complex
psb_scatter
Long Precision Complex
psb_scatter
Type:
Synchronous.
On Entry
glob_x
The array that must be scattered into local pieces.
Scope: global
Type: required
Intent: in.
Specified as: a rank one or two array.
desc_a
contains data structures for communications.
Scope: local
Type: required
Intent: in.
Specified as: a structured data of type descdatapsb_desc_type.
root
The process that holds the global copy. If all
the processes have a copy of the global vector.
Scope: global
Type: optional
Intent: in.
Specified as: an integer variable
, default
psb_root_, i.e. process 0.
mold
The desired dynamic type for the internal vector storage.
Scope: local.
Type: optional.
Intent: in.
Specified as: an object of a class derived from vbasedatapsb_T_base_vect_type; this is
only allowed when loc_x is of type vdatapsb_T_vect_type.
On Return
loc_x
the local portion of global dense matrix
.
Scope: local
Type: required
Intent: out.
Specified as: a rank one or two ALLOCATABLE array or an object of type vdatapsb_T_vect_type containing numbers of the type
indicated in Table 17.
info
Error code.
Scope: local
Type: required
Intent: out.
An integer value; 0 means no error has been detected.