6.7 psb_spall — Allocates a sparse matrix
call psb_spall(a, desc_a, info [, nnz, dupl, bldmode])
-
Type:
- Synchronous.
-
On Entry
-
-
desc_a
- the communication descriptor.
Scope:local.
Type:required.
Intent: in.
Specified as: a structured data of type psb_desc_type.
-
nnz
- An estimate of the number of nonzeroes in the local part of the assembled
matrix.
Scope: global.
Type: optional.
Intent: in.
Specified as: an integer value.
-
dupl
- How to handle duplicate coefficients.
Scope: global.
Type: optional.
Intent: in.
Specified as: integer, possible values: psb_dupl_ovwrt_, psb_dupl_add_,
psb_dupl_err_.
-
bldmode
- Whether to keep track of matrix entries that do not belong to the
current process.
Scope: global.
Type: optional.
Intent: in.
Specified as:
an integer value psb_matbld_noremote_, psb_matbld_remote_. Default:
psb_matbld_noremote_.
-
On Return
-
-
a
- the matrix to be allocated.
Scope:local
Type:required
Intent: out.
Specified as: a structured data of type psb_Tspmat_type.
-
info
- Error code.
Scope: local
Type: required
Intent: out.
An integer value; 0 means no error has been detected.
Notes
- On exit from this routine the sparse matrix is in the build state.
- The descriptor may be in either the build or assembled state.
- Providing a good estimate for the number of nonzeroes nnz in the
assembled matrix may substantially improve performance in the matrix
build phase, as it will reduce or eliminate the need for (potentially
multiple) data reallocations;
- Using psb_matbld_remote_ is likely to cause a runtime overhead at
assembly time;