Hello folks,
I've a strange performance problem with PARDISO on Windows. Before I open a support call I'll hope to get some feedback in this forum.
I'm using Intel® Parallel Studio XE 2018 Update 3 Composer Edition for Fortran Windows*, Version 18.0.0040.
I have noticed that parallel processing in PARDISO in MKL version 2018.0.3 does not work at all and processing with only one thread is significantly slower than in version 2016.
Attached I've a small C++ test program and sample data to solve a small system multiple time.
When I run the program using the MKL DLLs from version 2018.0.3 I get following result:
>Release\pardiso.exe _data\mat.mm _data\b.mm Intel(R) Math Kernel Library Version 2018.0.3 Product Build 20180406 for 32-bit applications Solving matrix file _data\mat.mm with vector data _data\b.mm. Data: rows=445, cols=445, values=1339 MKL threads: 6 Performance: Loops=10000, Time=2.785514 sec
And now the funny stuff starts. The same program executed with MKL DLLs from version 2016 (11.3.3) create the following result:
>Release\pardiso.exe _data\mat.mm _data\b.mm Intel(R) Math Kernel Library Version 11.3.3 Product Build 20160413 for 32-bit applications Solving matrix file _data\mat.mm with vector data _data\b.mm. Data: rows=445, cols=445, values=1339 MKL threads: 6 Performance: Loops=10000, Time=1.171534 sec
And it's gonna get worse. The new PARDISO version 2018.0.3 uses a big amount of CPU time for multiple threads but it is slower compared with execution with only one single thread!
According to my understanding I've configured all stuff correct. And as it can be seen, using the old MKL stuff from 2016 it works fine.