Visible to Intel only — GUID: GUID-E98988B5-0EEB-4E37-ABBD-99C8DF88E290
Visible to Intel only — GUID: GUID-E98988B5-0EEB-4E37-ABBD-99C8DF88E290
cluster_sparse_solver_set_ptr
Internally saves a provided pointer to the data corresponding to the specified name.
Syntax
call cluster_sparse_solver_set_ptr (pt, name, ptr, comm, error)
Include Files
- mkl_cluster_sparse_solver.f90
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.
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.
CAUTION:Do not modify pt after the calls to cluster_sparse_solver.
- name
-
INTEGER
Specifies the data for which the pointer is computed.
- 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, it is interpreted as INTEGER.
For scaling D, it is interpreted 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.
- Fortran:
-
- DOUBLE PRECISION
-
For real types of matrices (mtype=1, 2, -2, and 11) and for double precision (iparm(28) = 0).
- REAL
-
For real types of matrices (mtype=1, 2, -2, and 11) and for single precision (iparm(28) = 1).
- DOUBLE COMPLEX
-
For complex types of matrices (mtype=3, 6, 13, 14, and -4) and for double precision (iparm(28) = 0).
- COMPLEX
-
For complex types of matrices (mtype=3, 6, 13, 14, and -4) and for single precision (iparm(28) = 1).
- comm
-
INTEGER*4
MPI communicator. The solver uses the Fortran MPI communicator internally.
Output Parameters
- error
-
INTEGER
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