Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

cluster_sparse_solver_export

Computes data corresponding to the specified decomposition (defined by export operation) and fills the pointers provided by calls to cluster_sparse_solver_set_ptr and/or cluster_sparse_solver_set_csr_ptrs.

Syntax

void cluster_sparse_solver_export (_MKL_DSS_HANDLE_t pt, _MKL_DSS_EXPORT_OPERATION operation, const int *comm, MKL_INT *error);

Include Files

  • mkl_cluster_sparse_solver.h

Description

This routine computes the data for the pointers of the (distributed) data to be exported (as defined the specified operation). 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.

NOTE:

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.

NOTE:

Only call this routine after all pointers to the data required for the specified operation have been provided by means of calling cluster_sparse_solver_set_ptr and/or cluster_sparse_solver_set_csr_ptrs.

Input Parameters

pt

Array with size of 64.

Handle to internal data structure used in the prior calls to cluster_sparse_solver.

CAUTION:

Do not modify pt after the calls to cluster_sparse_solver.

operation

Specifies a particular operation which defines what data are exported

SPARSE_PTLUQT

Exporting data from decomposition P*A*Q=L*U.

SPARSE_DPTLUQT

Exporting data from decomposition from P* (D-1A)*Q=L*U.

NOTE:

Currently, for operation=SPARSE_DPTLUQT a real (complex) unit vector is provided for the scaling matrix D. Do not turn on scaling(iparm[10]>0) or matching(iparm[12]>0) in the iparm during the call to cluster_sparse_solver for this value of operation.

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

-5

invalid operation

-6

pointers to some of the data required for the specified operation were not provided prior to calling cluster_sparse_solver_export

-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

NOTE:
Refer to cl_solver_export_c.c for an example using this functionality.