I followed this page(https://eigen.tuxfamily.org/dox/TopicUsingIntelMKL.html) to use Eigen::PardisoLLT to solve a sparse linear system(88869x88869). I have MKL(student version) installed. I’ve successfully compiled, linked and run it. However, it’s 5 times slower than Eigen::SimplicialLLT. Am I doing anything wrong there?
I think I've found out which part slowed the program down. I changed the right-hand side (and the variable to hold the solution) to a dense matrix. And the execution time for one solve is 1.9s. I don't know why but Eigen seemed to chop the sparse right-hand side to 4 columns and assemble the solution later, which seems to be unnecessary to me. I was expecting a larger speedup from pardiso because the CPU usage went from 20%(SimplicialLLT) to 80%(PardisoLLT with parallel MKL). I thought I can get it 4 times faster based on the CPU usage. Do you think I've got a reasonable speedup already?