- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page