Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
cluster_sparse_solver_set_csr_ptrs
Saves internally-provided pointers to the 3-array CSR data corresponding to the specified name.
Syntax
call cluster_sparse_solver_set_csr_ptrs ( pt , name , rowptr , colindx , vals , comm , error )
Include Files
mkl_cluster_sparse_solver.f90
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]iparm(40) ) 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
-
INTEGER*8 for 64-bit architectures Array with size of 64. Handle to internal data structure used in the prior calls to cluster_sparse_solver .
- name
-
INTEGER Specifies for which CSR data the pointers are provided.
- rowptr
-
INTEGER 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]iparm(35) ). Refer to pointerB array description in CSR Format for more details.
- colindx
-
INTEGER 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 . It is interpreted internally as one of the following depending on mtype (type of the matrix A ) and iparm(28) (precision) specified in the preceding call to cluster_sparse_solver .
- comm
-
INTEGER*4 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. MPI communicator. The solver uses the Fortran MPI communicator internally.
Output Parameters
- error
-
INTEGER The error indicator: