IBM Books

Parallel Engineering and Scientific Subroutine Library for AIX Version 2 Release 3: Guide and Reference

PSPALL--Allocates Space for a General Sparse Matrix

This sparse utility subroutine allocates space for the local data of a general sparse matrix A. It also initializes some values, which are only for internal use, of the general sparse matrix A.

Syntax

Fortran CALL PSPALL (a, desc_a)

CALL PSPALL (a, desc_a, nnz)

On Entry

a
See On Return.

desc_a
is the array descriptor for a global general sparse matrix A that is produced on a preceding call to PADALL.

Type: required

Specified as: the derived data type DESC_TYPE.

nnz
is an estimate of the number of non-zero elements in the local part of the global general sparse matrix A. If the actual number of non-zero elements is greater than nnz, Parallel ESSL attempts to allocate additional space.

If nnz is not present, Parallel ESSL estimates how many non-zero elements, nnz, are present based on the order of the global general sparse matrix A.

Scope: local

Type: optional

Specified as: a fullword integer, where nnz > 0.

On Return

a
is the local space, which contains some internal values that are initialized by Parallel ESSL, allocated for the global general sparse matrix A.

Scope: local

Type: required

Returned as: the derived data type D_SPMAT.

Notes and Coding Rules
  1. Before you call this subroutine, you must have called PADALL.
  2. For details about some of the elements stored in DESC_A%MATRIX_DATA, see Derived Data Type DESC_TYPE.
  3. PSPALL allocates matrix A as necessary. Prior to further calls to PSPALL with the same matrix A, you must call PSPFREE; otherwise, there will be a memory leak.

Error Conditions

Computational Errors

None

Resource Errors
  1. Unable to allocate component(s) of A.

Input-Argument and Miscellaneous Errors

Stage 1 

  1. desc_a has not been initialized.

Stage 2 

  1. The BLACS context is invalid.

Stage 3 

  1. This subroutine was called from outside the process grid.

Stage 4 

  1. The process grid is not np × 1.
  2. desc_a component(s) are not valid.
  3. nnz <= 0


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]