Developer Reference

Contents

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

void
cluster_sparse_solver_get_csr_size
(
_MKL_DSS_HANDLE_t
pt
,
_MKL_DSS_EXPORT_DATA
name
,
MKL_INT
*
local_nrows
,
MKL_INT
*
local_nnz
,
const int
*
comm
,
MKL_INT
*
error
);
Include Files
  • mkl_cluster_sparse_solver.h
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]
) 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
Array with size of 64.
Handle to internal data structure used in the prior calls to
cluster_sparse_solver
.
Do not modify
pt
after the calls to
cluster_sparse_solver
.
name
Specifies CSR data for which the output values are computed.
SPARSE_PTLUQT_L
Factor
L
from
P
*
A
*
Q
=
L
*
U
.
SPARSE_PTLUQT_U
Factor
U
from
P
*
A
*
Q
=
L
*
U
.
SPARSE_DPTLUQT_L
Factor
L
from
P
* (
D
-1
A
)*
Q
=
L
*
U
.
SPARSE_DPTLUQT_U
Factor
U
from
P
* (
D
-1
A
)*
Q
=
L
*
U
.
local_nrows
On entry, an array of size 1.
local_nnz
On entry, an array of size 1.
comm
MPI communicator. The solver uses the Fortran MPI communicator internally. Convert the MPI communicator to Fortran using the
MPI_Comm_c2f()
function. See the examples in the
<install_dir>/examples
directory.
Output Parameters
local_nrows
On output, the local number of rows for the CSR data which correspond to the
name
.
local_nnz
On output, the local number of nonzero entries for the CSR data which correspond to the
name
.
error
The error indicator:
error
Information
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
Refer to
cl_solver_export_c.c
for an example using this functionality.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.