- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
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?
Best!
Jing
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What are execution times for Eigen::SimplicialLLT and Eigen::PardisoLLT?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
For one solve, Eigen::SimplicialLLT takes 2.74s, Eigen::PardisoLLT takes 12.107s. By the way, I am solving a system Ax = B where B is a sparse matrix(88869x354)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Could you set the msglvl == 1 and share this log file?
Could you give us the reproducer?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
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?

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page