Pardiso : OOC mode + iparm[1]!=0 + phase=13 = error after factorisation

Pardiso : OOC mode + iparm[1]!=0 + phase=13 = error after factorisation


I have a problem (Access violation reading) when I use Pardiso in OOC mode and I try to do phases 1 to 3 at the same time (phase parameter = 13). But when I do phase 3 separately, it works.

Here is a summary of my code :

iparm[0] = 1; /* No solver default */
iparm[1] = 2; /* Fill-in reordering from METIS */
iparm[59] = 2; /*In-Core or Out-Of-Core */

maxfct = 1; /* Maximum number of numerical factorizations. */
mnum = 1; /* Which factorization to use. */
msglvl = 1; /* Print statistical information to the screen */
error = 0; /* Initialize error flag */

phase = 12;
PARDISO (_pt, &maxfct, &mnum, &mtype, &phase,
	&n, a, ia, ja, &idum, &nrhs,
	iparm, &msglvl, B, X, &error);

phase = 33;
PARDISO (_pt, &maxfct, &mnum, &mtype, &phase,
        &n, a, ia, ja, &idum, &nrhs,
	iparm, &msglvl, B, X, &error);

This code works fine in all cases.

But if I want to do phases 1-3 in a single call (phase=13), I get a "Access violation reading" in Pardiso.
This occurs only on large scale matrix when OOC is really used (files write/read) and if I set iparm[1]=0, it works fine.


8 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Thierry,is it win64?what is thenumbers of non-zero elements?--Gennady

I run MKL on Windows 7 64 bits / Visual Studio 2008 / Intel Core i7 M620 / 4Go RAM

For this problem I tested 2 matrices :
(1) 54243x54243 / 2053206 non-zeros
(2) 408483*408483 / 16082406 non-zeros

To force the OOC mode, I set the environment variable MKL_PARDISO_OOC_MAX_CORE_SIZE to 100 for the first matrix and 3000 for the second matrix.

I use MKL 10.2.6 but I did some more tests with MKL 10.2.5 and 10.3.0 beta. I can't reproduce the problem with MKL 10.2.5 and 10.3.0 beta. So, this problem occurs only with MKL 10.2.6

I don't see any difference in my compiler/linker parameters between MKL 10.2.5 / MKL 10.2.6 / MKL 10.3.0


thanks for the update.I'm sure that probably does not matter, but nevertheless, is this SPD matrixes?andis this static or dynamic linking?--Gennady

The matrices are symmetric positive-semidefinite and it's a static linking.

For the matrix type, I set mtype=-2. Can I set mtype=2 but I am not sure that my matrices are really SPD ?symmetric positive-semidefinite matrix

yes, you can try

Thierry,I am interested in the result of this attempt?

First, I gave an explanation of what I'm doing here :

I tried to put mtype = 2. It works for a few tens of iterations, but then I get an error indicating that my MKL matrix is not SPD.

So, I use again mtype=-2


Leave a Comment

Please sign in to add a comment. Not a member? Join today