Registered Member
|
Hi, everyone
Eigen is totally working with SuperLU4.3, but I have a problem using Eigen with SuperLU5.0. Am I compiling SuperLU5.0 wrong, all Eigen cannot support SuperLU5.0 now? |
Moderator
|
Right. It seems that they changed the api of some functions. Anyway, in most cases built-in SparseLU class performs better than superlu and without the pain of building and linking to an external lib.
|
Registered Member
|
I have a test using P3-P2 element solving Stokes equations, below:
The SuperLU is version 4.3 with openblas. The UMFPACKLU is in the SuiteSparse 4.4.4 with LAPACK and BLAS. In this case, the UMFPACKLU perform much better than other two cases and the SparseLU is a little slower than SuperLU. |
Moderator
|
Make sure you are using Eigen 3.2.5 (there was a perf regression in SparseLU in the previous version http://eigen.tuxfamily.org/index.php?ti ... igen_3.2.5)
UmfPack uses a different LU algorithm that is indeed significantly faster for some kind of problems, however, for this kind of problems, iterative solvers like BiCGSTAB are usually much faster than direct methods anyway. |
Registered Member
|
I'm using the latest Dev branch, and don't know why the BiCGSTAB perform much worse than direct methods in my codes. Are there some settings to be taken care of? The settings of BiCGSTAB are default.
|
Moderator
|
For very sparse problems iterative methods are indeed slower. You might also try BiCGSTAB with the IncompleteLUT<> preconditioners....
|
Registered users: bartoloni, Bing [Bot], Google [Bot], Yahoo [Bot]