Developer Reference for Intel® oneAPI Math Kernel Library for C
A newer version of this document is available. Customers should click here to go to the newest version.
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.
CAUTION: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-1A)*Q=L*U.
 - SPARSE_DPTLUQT_U
 -  
       
Factor U from P* (D-1A)*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