Next: psb_scatter Scatter
Up: Communication routines
Previous: psb_ovrl Overlap
Contents
These subroutines collect the portions of global dense matrix
distributed over all process into one single array stored on one
process.
where:
![$glob\_x$](img75.png)
- is the global submatrix
![$loc\_x_i$](img77.png)
- is the local portion of global dense matrix on
process
.
![$collect$](img78.png)
- is the collect function.
Table 15:
Data types
![$x_i, y$](img79.png) |
Subroutine |
Integer |
psb_gather |
Short Precision Real |
psb_gather |
Long Precision Real |
psb_gather |
Short Precision Complex |
psb_gather |
Long Precision Complex |
psb_gather |
|
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
.
Scope: local
Type: required
Intent: in.
Specified as: a rank one or two array containing numbers of the type
indicated in Table 15.
- 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 will have a copy of the global vector.
Scope: global
Type: optional
Intent: in.
Specified as: an integer variable
, default
.
- 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.
- info
- Error code.
Scope: local
Type: required
Intent: out.
An integer value; 0 means no error has been detected.
Next: psb_scatter Scatter
Up: Communication routines
Previous: psb_ovrl Overlap
Contents