We are using Pardiso (from MKL 2017 update 2 with the latest Eigen wrappers) to factor and solve large sparse symmetric positive-definite matrices (e.g. 3Mx3M) and, although everything works fine, there is absolutely no threading observed on Activity Monitor. We use TBB only (no OpenMP). TBB is linked dynamically and MKL statically. We compile and link with Clang 3.9 on OSX 10.12.
- My main question is whether Pardiso is expected to utilize multiple cores for either factoring (LDLT or LU) and/or solving. If so, what could I be missing?
- Also, we would really need for mkl_progress() to be called so that we can stop long computations but that doesn't seem to happen.
On a side note, the only threading behaviour I've observed was when OOC was enabled. Possibly related to that, my override of mkl_progress() was also only called in that mode and only for very large matrices.
thank you for your report.
is it possible to try latest MKL version, MKL 2018 u3 to Eigen?
There are some related bug fixed since 2017 u2.
|Improved the performance of Intel MKL Pardiso routine in the case of multiple RHS and linking with Intel® Threaded Building Blocks (Intel® TBB) threading layer.