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

Pardiso MKL_PROGRESS

junlin_xu
Beginner
471 Views

I just upgraded MKL library from 10.1.1.022 to 11.3 (positive symmetric matrix)

For 64-bit, I first tried to use static linking with sequential threading using the following lib files:

mkl_intel_lp64.lib, mkl_core.lib, mkl_sequential.lib

The MKL_PROGRESS will get called but with ending percentage of 128% (instead of 100%)

 

I then use static linking with OpenMP threading using the following lib files:

mkl_intel_lp64.lib, mkl_core.lib, mkl_intel_thread.lib, libiomp5md.lib

The MKL_PROGRESS will not get called at all for In-Core memory.  If I use Out-Of-Core, then MKL_PROGRESS will get called.

Can someone reproduce this in MKL 11.3?

I did not have these problems using MKL 10.1.1.022 version.

Thanks,

Junlin Xu

 

 

0 Kudos
7 Replies
Ying_H_Intel
Employee
471 Views

Hi Junlin, 

Just check with you, you mean MKL 11.3  or the latest MKL version MKL 11.3 update 2. ? 

Regards,

Ying

0 Kudos
junlin_xu
Beginner
471 Views

I tried with both 11.3 update 1 and update 2.  Both have the bugs stated.

Junlin Xu

0 Kudos
Ying_H_Intel
Employee
471 Views

Hi Junlin,

We have not expect such behavior so may i ask one reproducer?

Thanks

Ying

0 Kudos
junlin_xu
Beginner
471 Views

Are you saying you cannot reproduce the problem? or are you so lazy as not to bother to reproduce?

0 Kudos
Alexander_K_Intel2
471 Views

Hi,

Can i ask to add following lines in your example and provide full output? 

    char buf[128];

    MKLVersion ver;

    printf("\nMKL release version:\n");

    MKL_Get_Version_String(buf, 128);

    printf("%s\n",buf);

    MKL_Get_Version(&ver);

    printf("    Major version:          %d\n",ver.MajorVersion);

    printf("    Minor version:          %d\n",ver.MinorVersion);

    printf("    Update version:         %d\n",ver.UpdateVersion);

    printf("    Product status:         %s\n",ver.ProductStatus);

    printf("    Build:                  %s\n",ver.Build);

    printf("    Platform:               %s\n",ver.Platform);

    printf("    Processor optimization: %s\n",ver.Processor);

I run example on my side and have not see any issue:

 96 % In thread 0, at stage Pardiso: factor, steps passed 95
In thread 0, at stage Pardiso: factor, steps passed 95
In thread 0, at stage Pardiso: factor, steps passed 95
In thread 0, at stage Pardiso: factor, steps passed 95
In thread 0, at stage Pardiso: factor, steps passed 95
In thread 0, at stage Pardiso: factor, steps passed 96

 100 % In thread 0, at stage Pardiso: factor, steps passed 96
In thread 0, at stage Pardiso: factor, steps passed 100

 


=== PARDISO: solving a complex nonsymetric system ===
Single-level factorization algorithm is turned ON

Summary: ( factorization phase )
================

Thanks,

Alex 

0 Kudos
junlin_xu
Beginner
471 Views

Alex:

After using your code to diagnosis the MKL version, i found that 11.3.1 does not work while 11.3.2 does work.  I was mistaken in saying that the bug existed in both MKL 11.3.1 and 11.3.2.

Thanks for your help.

Junlin Xu

0 Kudos
Ying_H_Intel
Employee
471 Views

Hi

Thanks for report the result. Mkl_progress in pardiso was broken in 11.3.1 and we fix it in mkl 11.3.2.  I believed that’s the reason. 

Regards,

Ying 

0 Kudos
Reply