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

## strange pardiso error

Novice
423 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

3 Replies
Moderator
412 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 ?

Novice
370 Views

It is ok with 2 or 3. Hope you can fix this problem.
Ned
Ned
Employee
202 Views

Hi Ned,

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

Best regards,

Khang