Developer Reference

Contents

cluster_sparse_solver_set_csr_ptrs

Saves internally-provided pointers to the 3-array CSR data corresponding to the specified name.

Syntax

void
cluster_sparse_solver_set_csr_ptrs
(
_MKL_DSS_HANDLE_t
pt
,
_MKL_DSS_EXPORT_DATA
name
,
MKL_INT
*
rowptr
,
MKL_INT
*
colindx
,
void
*
vals
,
const int
*
comm
,
MKL_INT
*
error
);
Include Files
  • mkl_cluster_sparse_solver.h
Description
This routine internally saves the input pointers,
rowptr
,
colindx
, and
vals
, of the 3-array CSR data, which correspond to the provided
name
. It is assumed that the exported data will be distributed in the same way as the matrix
A
(as defined by
iparm
[39]
) used in
cluster_sparse_solver
.
The saved pointers can then be used for exporting corresponding data by means of
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 for which CSR data the pointers are provided.
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
.
rowptr
Array of length at least (
local_nrows
+1) where
local_nrows
is the local number of rows, which can be obtained by calling
cluster_sparse_solver_get_csr_size
. This array contains row indices, such that
rowptr[i]
-
indexing
is the first index of row
i
in the array's
vals
and
colindx
. Here, the value of
indexing
is 0 for zero-based indexing and 1 for one-based indexing, and must be the same as it was for the matrix
A
used in the preceding calls to
cluster_sparse_solver
(also stored in
iparm[34]
).
Refer to
pointerB
array description in CSR Format for more details.
colindx
Array of length at least
rowptr[local_nrows]
rowptr[0]
. Indexing (zero- or one-based) must be the same as for
rowptr
. For one-based indexing, the array contains the column indices plus one for each non-zero element of the matrix which corresponds to the
name
. For zero-based indexing, the array contains the column indices for each non-zero element of the matrix.
vals
Array containing non-zero elements of the matrix which corresponds to the
name
. Its length is equal to length of the
colindx
array. Refer to values array description in CSR Format for more details.
It will be interpreted internally as
float*
/
double*
(
MKL_Complex8*
/
MKL_Complex16*
) depending on
mtype
(type of the matrix
A
) and
iparm[27]
(precision) specified in the preceding call to
cluster_sparse_solver
.
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
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
-12
internal memory error
Refer to
cl_solver_export_c.c
for an example using this functionality.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804