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

pardiso: mkl_sequential work fine, but mkl_intel_thread crashes

Alexey1978
New Contributor I
822 Views

Hi all.

When solving some system with mkl, pardiso I've encountered with the problem: mkl_sequential work fine, but mkl_intel_thread crashes.

 

Software: MSVC2019, QT 5.15, win 10 x64, mkl 2021.3.0

Number of nonzeros in factors = 6944972

Number of factorization MFLOPS = 13133

libs:  -lmkl_intel_thread_dll -lmkl_core_dll -lmkl_intel_lp64_dll -llibiomp5md

function call: PARDISO (pt, &maxfct, &mnum, &mtype, &phase,
&n, a, ia, ja, &idum, &nrhs, iparm, &msglvl, &ddum, &ddum, &error);

Debugger

1 RaiseException KERNELBASE 0x7ffddc13d759
2 mkl_serv_getenv mkl_intel_thread_1 0x7ffd4b8975c8
3 mkl_serv_getenv mkl_intel_thread_1 0x7ffd4b89c9af
4 mkl_pds_lp64_pds_get_num_threads mkl_intel_thread_1 0x7ffd4aef9dbd
5 mkl_pds_lp64_pardiso mkl_core_1 0x7ffd45d20438  

 

Thanks

0 Kudos
1 Solution
Alexey1978
New Contributor I
683 Views

I think the problem is solved. I'have added libiomp5md.dll  into folder with exe file and now it works well.  So, such strange behavior was connected with absence of libiomp5md.dll. But it works only in 2021.2.0. Not in 2021.3.0.

Thank you very much,

Alexey

View solution in original post

10 Replies
VidyalathaB_Intel
Moderator
774 Views

Hi,


Thanks for reaching out to us.


As per system requirements Qt is not supported.

Please refer the below link for system requirements of Intel oneMKL 

https://software.intel.com/content/www/us/en/develop/articles/oneapi-math-kernel-library-system-requ...


We tried running a sample pardiso code on our end using command line on windows with the libs which you have mentioned (libs: -lmkl_intel_thread_dll -lmkl_core_dll -lmkl_intel_lp64_dll -llibiomp5md) and we could not reproduce the issue.


You can make use of link line advisor for intel mkl

https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl/link-line-adviso...


Could you please try compiling the code on command line and see if it works

If the issue still persists please provide us a sample reproducer so that we can work on it from our end.


Regards,

Vidya.


Alexey1978
New Contributor I
764 Views

Thank you, Vidya.

As I realised that mkl_sequantial goes well with MSVC2019 in win 10 and works fine.

Am i right, that MSVC2019 is not good compilier for using  mkl_intel_thread and I need

Intel® C/C++ Compiler  or Intel® oneAPI DPC++/C++ Compiler ?

 

I try to use openMP, so TBB is not installed.

 

 

thank you

 

 

VidyalathaB_Intel
Moderator
734 Views

Hi Alexey,

 

It works with intel compiler as well as Microsoft compiler.

 

We tried with CL compiler (Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29910) on command line and issue is not reproducible. 

 

Could you please provide us the version of MSVC2019 compiler ?

 

So we suggest you to try the same on command line and see if the issue still persists.

 

Here is the command we used to compile the code on command line (Please make sure that oneAPI environment is initialized on command line. You can initialize by running setvars.bat which is present in oneAPI directory)

 

 

CL mkl_intel_ilp64_dll.lib mkl_intel_thread_dll.lib mkl_core_dll.lib libiomp5md.lib /DMKL_ILP64 -I"%MKLROOT%\include" pardiso.cpp

 

 

Regards,

Vidya.

 

 

Alexey1978
New Contributor I
688 Views

Hi Vidya,

 

I have made several experiments with example code pardiso_unsym_complex.c using command line CL (MS version 19.28.29912 x84, mkl 2021.3.0).

1. If I use mkl_intel_lp64_dll.lib instead of mkl_intel_ilp64_dll.lib in command line - it crashes as above.

(CL mkl_intel_lp64_dll.lib mkl_intel_thread_dll.lib mkl_core_dll.lib libiomp5md.lib -I"C:\Program Files (x86)\Intel\oneAPI\mkl\2021.3.0\include" pardiso_unsym_complex.c)

 

2. If I use mkl_intel_ilp64_dll.lib but without command /DMKL_ILP64 - it doesn't crashes, but ERROR during symbolic factorization: -1(CL mkl_intel_ilp64_dll.lib mkl_intel_thread_dll.lib mkl_core_dll.lib libiomp5md.lib -I"C:\Program Files (x86)\Intel\oneAPI\mkl\2021.3.0\include" pardiso_unsym_complex.c)

 

3. If I use mkl_intel_ilp64_dll.lib but with command /DMKL_ILP64 - it crashes

(CL mkl_intel_ilp64_dll.lib mkl_intel_thread_dll.lib mkl_core_dll.lib libiomp5md.lib /DMKL_ILP64 -I"C:\Program Files (x86)\Intel\oneAPI\mkl\2021.3.0\include" pardiso_unsym_complex.c)

 

Thanks,

Alexey

Alexey1978
New Contributor I
686 Views

But sequential lib mkl_sequential_dll.lib works fine and solves the system

CL mkl_intel_ilp64_dll.lib mkl_sequential_dll.lib mkl_core_dll.lib libiomp5md.lib /DMKL_ILP64 -I"C:\Program Files (x86)\Intel\oneAPI\mkl\2021.3.0\include" pardiso_unsym_complex.c

Alexey1978
New Contributor I
684 Views

I think the problem is solved. I'have added libiomp5md.dll  into folder with exe file and now it works well.  So, such strange behavior was connected with absence of libiomp5md.dll. But it works only in 2021.2.0. Not in 2021.3.0.

Thank you very much,

Alexey

VidyalathaB_Intel
Moderator
602 Views

Hi,

>>I think the problem is solved,

Glad to know that your issue is resolved.

>>But it works only in 2021.2.0. Not in 2021.3.0

We tried it with MKL 2021.3.0 version and the compilation is successful. Please find the below screenshot in which the compilation is successful (without getting crashed) and .exe file got generated.

 

VidyalathaB_Intel_0-1631616709246.png

 

Regards,

Vidya.

 

Alexey1978
New Contributor I
585 Views

Hi, Vidya.

Thanks, I have the same.

 

Alexey

Alexey1978
New Contributor I
526 Views

Hi,

the  problem is fully solved. With libiomp5md.dll it works well on both 2021.2.0 , 2021.3.0 

Thanks,

Alexey

VidyalathaB_Intel
Moderator
510 Views

Hi,


Glad to know that your issue is resolved.


If you need any additional information from intel please post a new question as this thread will no longer be monitored.


Have a Good day!


Regards,

Vidya.


Reply