Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
cluster_sparse_solver_get_csr_size
Computes the (local) number of rows and (local) number of nonzero entries for (distributed) CSR data corresponding to the provided name.
Syntax
call cluster_sparse_solver_get_csr_size ( pt , name , local_nrows , local_nnz , comm , error )
Include Files
mkl_cluster_sparse_solver.f90
Description
This routine uses the internal data created during the factorization phase of cluster_sparse_solver for matrix A . The routine then:
Computes the local number of rows and the local number of nonzeros for CSR data that correspond to the provided name
Returns the computed values in local_nrows and local_nnz
It is assumed that the CSR data defined by the name will be distributed in the same way as the matrix A (as defined by iparm[39]iparm(40) ) used in cluster_sparse_solver .
The returned values can be used for allocating CSR arrays for factors L and U , and also for allocating arrays for permutations P and Q , or scaling matrix D which can then be used with cluster_sparse_solver_set_csr_ptrs or cluster_sparse_solver_set_ptr for exporting corresponding data via cluster_sparse_solver_export .
Only call this routine after the factorization phase ( phase=22 ) of the cluster_sparse_solver has been called. Neither pt , nor iparm should be changed after the preceding call to cluster_sparse_solver .
Input Parameters
pt
INTEGER*8 for 64-bit architectures
Array with size of 64. Handle to internal data structure used in the prior calls to cluster_sparse_solver .
name
INTEGER
Specifies CSR data for which the output values are computed.
SPARSE_PTLUQT_L |
Factor L from \(P\cdot A \cdot Q = L \cdot U\). |
|---|---|
SPARSE_PTLUQT_U |
Factor U from \(P\cdot A \cdot Q = L \cdot U\). |
SPARSE_DPTLUQT_L |
Factor L from \(P \cdot (D^{-1}A) \cdot Q = L \cdot U\). |
SPARSE_DPTLUQT_U |
Factor U from \(P \cdot (D^{-1}A) \cdot Q = L \cdot U\). |
- local_nrows
-
On entry, an array of size 1.
- local_nnz
-
On entry, an array of size 1.
comm
INTEGER*4. MPI communicator. The solver uses the Fortran MPI communicator internally.
Output Parameters
local_nrows
INTEGER
On output, the local number of rows for the CSR data which correspond to the name .
local_nnz
INTEGER
On output, the local number of nonzero entries for the CSR data which correspond to the name .
error
INTEGER
The error indicator:
0 |
no error |
|---|---|
-1 |
pt is a null pointer |
-2 |
invalid pt |
-3 |
invalid name |
-4 |
unsupported name |
-9 |
unsupported internal code path, consider switching off non-default iparm parameters for cluster_sparse_solver |
-10 |
unsupported case when the matrix A is distributed among processes with overlap in the preceding calls to cluster_sparse_solver |
-12 |
internal memory error |