5.3 psb_gather — Gather Global Dense Matrix
These subroutines collect the portions of global dense matrix distributed over all
process into one single array stored on one process.
where:
-
glob_x
- is the global submatrix glob_x1:m,1:n
-
loc_xi
- is the local portion of global dense matrix on process i.
-
collect
- is the collect function.
|
|
xi,y | Subroutine |
|
|
Integer | psb_gather |
Short Precision Real | psb_gather |
Long Precision Real | psb_gather |
Short Precision Complex | psb_gather |
Long Precision Complex | psb_gather |
|
|
|
Table 19: Data types
call psb_gather(glob_x, loc_x, desc_a, info, root) call psb_gather(glob_x, loc_x, desc_a, info, root)
-
Type:
- Synchronous.
-
On Entry
-
-
loc_x
- the local portion of global dense matrix glob_x.
Scope: local
Type: required
Intent: in.
Specified as: a rank one or two array or an object of type
psb_T_vect_type indicated in Table 19.
-
desc_a
- contains data structures for communications.
Scope: local
Type: required
Intent: in.
Specified as: a structured data of type psb_desc_type.
-
root
- The process that holds the global copy. If root = -1 all the processes will
have a copy of the global vector.
Scope: global
Type: optional
Intent: in.
Specified as: an integer variable -1 ≤ root ≤ np - 1, default -1.
-
On Return
-
-
glob_x
- The array where the local parts must be gathered.
Scope: global
Type: required
Intent: out.
Specified as: a rank one or two array with the ALLOCATABLE attribute.
-
info
- Error code.
Scope: local
Type: required
Intent: out.
An integer value; 0 means no error has been detected.