6.6 psb_cdbldext — Build an extended communication descriptor
call psb_cdbldext(a,desc_a,nl,desc_out, info, extype)
This subroutine builds an extended communication descriptor, based on the input
descriptor desc_a and on the stencil specified through the input sparse matrix
a.
-
Type:
- Synchronous.
-
On Entry
-
-
a
- A sparse matrix Scope:local.
Type:required.
Intent: in.
Specified as: a structured data type.
-
desc_a
- the communication descriptor.
Scope:local.
Type:required.
Intent: in.
Specified as: a structured data of type psb_Tspmat_type.
-
nl
- the number of additional layers desired.
Scope:global.
Type:required.
Intent: in.
Specified as: an integer value nl ≥ 0.
-
extype
- the kind of estension required.
Scope:global.
Type:optional .
Intent: in.
Specified as: an integer value psb_ovt_xhal_, psb_ovt_asov_, default:
psb_ovt_xhal_
-
On Return
-
-
desc_out
- the extended communication descriptor.
Scope:local.
Type:required.
Intent: inout.
Specified as: a structured data of type psb_desc_type.
-
info
- Error code.
Scope: local
Type: required
Intent: out.
An integer value; 0 means no error has been detected.
Notes
- Specifying psb_ovt_xhal_ for the extype argument the user will obtain a
descriptor for a domain partition in which the additional layers are fetched
as part of an (extended) halo; however the index-to-process mapping is
identical to that of the base descriptor;
- Specifying psb_ovt_asov_ for the extype argument the user will obtain
a descriptor with an overlapped decomposition: the additional layer is
aggregated to the local subdomain (and thus is an overlap), and a new
halo extending beyond the last additional layer is formed.