Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library
- Compute schur complement with Pardiso in out-of-core mode

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Jens_E_

New Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-04-2017
11:34 PM

92 Views

Compute schur complement with Pardiso in out-of-core mode

Hi,

I'm using pardiso_64 with intel mkl 11.3.3.1.

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;

iparm(10)=8;

iparm(21)=1;

iparm(35)=1;

iparm(60)=2;

(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?

Best,

Jens

Link Copied

8 Replies

Zhen_Z_Intel

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-07-2017
07:29 PM

92 Views

Hi Jens,

I can reproduce your problem. we will investigate on this problem. Thank you for posting.

Best regards,

Fiona

Jens_E_

New Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-08-2017
11:46 AM

92 Views

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?

Jens

Zhen_Z_Intel

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-08-2017
10:47 PM

92 Views

Hi Jens,

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.

Jens_E_

New Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-09-2017
06:45 AM

92 Views

Okay, thanks for letting me know.

Taylor_B

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-06-2018
11:45 AM

92 Views

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,

Taylor

Alexander_K_Intel2

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-06-2018
01:50 PM

92 Views

Hi,

MKL 2018.2 support Schur complement computation in OOC Intel MKL Pardiso in case matching and scaling are switched off

Thanks,

Alex

Taylor_B

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-07-2018
07:50 AM

92 Views

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

Thank you

Taylor

Alexander_K_Intel2

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-10-2018
12:30 PM

92 Views

Hi Taylor,

Can you also set iparm(24) to 1, iparm(11), iparm(13) to 0 and try to run pardiso again?

Thanks,

Alex

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

For more complete information about compiler optimizations, see our Optimization Notice.