Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 7/13/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_set_ptr

Internally saves a provided pointer to the data corresponding to the specified name.

Syntax

void cluster_sparse_solver_set_ptr (_MKL_DSS_HANDLE_t pt, _MKL_DSS_EXPORT_DATA name, void *ptr, const int *comm, MKL_INT *error);

Include Files

  • mkl_cluster_sparse_solver.h

Description

This routine internally saves the input pointer, ptr, of the data which correspond to the provided name. The saved pointer can then be used for exporting corresponding data by means of cluster_sparse_solver_export.

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.

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.

name

Specifies the data for which the pointer is provided.

SPARSE_PTLUQT_P

Permutation P from P*A*Q=L*U.

SPARSE_PTLUQT_Q

Permutation Q from P*A*Q=L*U.

SPARSE_DPTLUQT_P

Permutation P from P* (D-1A)*Q=L*U.

SPARSE_DPTLUQT_Q

Permutation Q from P* (D-1A)*Q=L*U.

SPARSE_DPTLUQT_D

Scaling (diagonal) D from P* (D-1A)*Q=L*U.

vals

Array containing elements of the vector representation for the data which corresponds to the name. Its length should be at least local_nrows, where local_nrows is the local number of rows in a corresponding matrix (obtained from cluster_sparse_solver_get_csr_size, for example).

For permutations P and Q, vals is interpreted as MKL_INT* , while for the scaling it is interpreted 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

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