I'm using pardiso_64 with intel mkl 220.127.116.11.
I am computing the Schur complement of SPD matrices (mtype = 2). In in-core mode everything is OK. In out-of-core mode (iparm(60)=2), I get no error code, but just an all-zero solution matrix.
My iparm array is as follows:
iparm(1) = 1;
(otherwise zero values).
I've set the phase parameter to 12.
Am I doing something wrong, or is only in-core mode possible for Schur complement calculation?
While waiting for the investigation: are there other options within MKL to (easiliy) compute the Schur complement for sparse matrices, using the DSS interface for example?
We checked that Schur complement compute only for in-core mode of PARDISO in current version. I am afraid only pardiso provided implementation for Schur complement matrix, but DSS & Iterative solver do not provide.
Fiona and readers,
I am having the same issue that Jens was having and there has been no mention of the functionality to compute the Schur complement while using out-of-core in any of the recent release notes. Is Intel planning to make it possible to compute the Schur complement using OOC stored factors for either PARDISO or the Parallel Direct Sparse Solver for Clusters Interface?
In the mean time, are there packages you are able to suggest that are MPI and thread parallel that can compute the Schur complement on a large sparse matrix with an ability to distribute the Schur block? MKL's Parallel Direct Sparse Solver for Clusters interface would work however, it stores the Schur block on a single node which, for my problems, uses all the nodes memory and brings down the node.
I am using Intel MKL 2018 update 2.
Thank you for your time,
Alex and readers,
I believe I interpreted your statement correctly. However, to confirm, do you mean that both matching and scaling must be turned off for the Schur complement operation to be compatible with OOC? Or do you mean that they have to both be enabled to get Schur to be compatible with OOC?
I have tried both and am still getting the same result(zero result for Schur block). MType is 13 (complex non-symmetric). Below are my iparm settings
iparm(1) = 1 ! Default parameters overriden with provided by iparm iparm(2) = 2 ! METIS for fill-in reordering iparm(10) = 13 ! Perturb the pivot elements with 1E-13 */ iparm(11) = 1 ! Use nonsymmetric permutation and scaling MPS */ iparm(13) = 1 ! Switch on Maximum Weighted Matching algorithm (default for non-symmetric) */ iparm(18) = -1 ! Output: Number of nonzeros in the factor LU */ iparm(19) = -1 ! Output: Mflops for LU factorization */ iparm(27) = 1 ! Check input data for correctness */ iparm(35) = 0 ! One-based indexing */ iparm(36) = 1 ! Schur complement matrix computation iparm(60) = 2 ! OOC Mode