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

Wrong results from Pardiso solver with multi-threading

Fanny_D_
Einsteiger
1.090Aufrufe

Hi,

I'm having problems with multi-threading in the Pardiso solver.

For a given sparse matrix (csr format in mat.txt) and right hand side (rhs.txt) I obtain a different and wrong solution with a number of threads equal or greater than 16.

I'm working on windows 7 and I'm compiling with the compiler C++ Visual Studio 2013 and the MKL 11.3 Update 4 (Intel Parallel Studio XE 2016 Update 4). I'm linking with the librairies: mkl_intel_lp64, mkl_intel_thread, mkl_core and libiomp5md.


Could you reproduce the problem? or is there a mistake in my Pardiso usage?


Attached please find my program (./test_mt.exe nb_threads).

Thanks in advance for your help.

Best regards.

 

0 Kudos
2 Antworten
Gennady_F_Intel
Moderator
1.090Aufrufe

if you expect to see the same output with multithreading case, then pls try to use CNR mode ( see iparm[33] ). with MKL 2017 v2 ( latest release, 4 weeks ago), I don't see the significant differences between 16, 24 and 32 threads. 

Fanny_D_
Einsteiger
1.090Aufrufe

Thanks for this information.

My original problem was that the results obtained with 16 (24 or 32) threads were wrong and completely different from those obtained with 1 thread and 8 threads.

Do you observe the same?

If I set iparm[33] to the desired number of threads n_threads (i.e threads specified in mkl_set_number_threads()) I obtain with n_threads=16 good results.

Could you please explain the consequences on performances? If I set iparm[33] to the number of threads specified in mkl_set_num_thread() do I obtain good performances?

Thanks in advance.

Best regards.

 

 

 

Antworten