- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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 kopiert
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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.
- RSS-Feed abonnieren
- Thema als neu kennzeichnen
- Thema als gelesen kennzeichnen
- Diesen Thema für aktuellen Benutzer floaten
- Lesezeichen
- Abonnieren
- Drucker-Anzeigeseite