Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

strange pardiso error

nedialk
Novice
802 Views

The following code  

include <iostream>
#include <mkl.h>

int main() {
MKL_INT iparm[64]{0};
MKL_INT mtype = -2;
MKL_INT nrhs = 1;

MKL_INT maxfct = 1, mnum = 1, phase = 11, error = 0, msglvl = 1;
double ddum;
MKL_INT idum;
void *pt[64]{0};

iparm[0] = 1;
iparm[34] = 1; // Zero-based indexing

iparm[1] = 0; // Minimum degree reordering
iparm[10] = 1; // Scaling
iparm[12] = 1; // Weighted matching

// 2-by-2 example
// [ 1 1 ]
// [ 1 1e-8]
double ele[3] = {1., 1., 1e-8};
MKL_INT indi[3] = {0, 1, 1};
MKL_INT start[3] = {0, 2, 3};
MKL_INT dim = 2;

pardiso(pt, &maxfct, &mnum, &mtype, &phase, &dim, ele, start, indi, NULL,
&nrhs, iparm, &msglvl, &ddum, &ddum, &error);
std::cout << "\n pardiso error code " << error << std::endl;
}

 

produces 

 

*** Error in PARDISO ( insufficient_memory) error_num= 1
*** Error in PARDISO memory allocation: MATCHING_REORDERING_DATA, allocation of 1 bytes failed
total memory wanted here: 13 kbyte

=== PARDISO: solving a symmetric indefinite system ===


Summary: ( reordering phase )
================

Times:
======
Time spent in additional calculations : 0.001218 s
Total time spent : 0.001218 s

Statistics:
===========
Parallel Direct Factorization is running on 1 OpenMP

< Linear system Ax = b >
number of equations: 2
number of non-zeros in A: 2
number of non-zeros in A (%): 50.000000

number of right-hand sides: 1

< Factors L and U >
< Preprocessing with multiple minimum degree, tree height >
< Reduction for efficient parallel factorization >
number of columns for each panel: 128
number of independent subgraphs: 0
number of supernodes: 0
size of largest supernode: 0
number of non-zeros in L: 0
number of non-zeros in U: 0
number of non-zeros in L+U: 0

pardiso error code -2

 

How can this be explained? Bug or? 

Thank you,

Ned

0 Kudos
3 Replies
Gennady_F_Intel
Moderator
791 Views

Ned,

it looks like a bug. Could you try another reordering ( iparm[1] == 2 or 3) mode  and enable the matrix checker (iparm[26]==1 ?

-Gennady

0 Kudos
nedialk
Novice
749 Views
Hi Gennady,

It is ok with 2 or 3. Hope you can fix this problem.
Ned
Ned
0 Kudos
Khang_N_Intel
Employee
581 Views

Hi Ned,


We are still looking at the issue. We will let you the status once we discover the problem.


Best regards,

Khang


0 Kudos
Reply