Closed Amuri44 closed 1 year ago
For the solve step? You mean like parallelizing over a matrix solve (one thread per vector for instance)?
I may be able to implement that. The factor step is not parallel IIRC. We'd have to wrap Basker or something like that for multithreaded factors.
Yes, exactly. Which would be wonderful. Cause I did not know how to start and what are the steps.
Definitely nice to have! This new one may be similar to Basker as well. Frankly speaking, factorization in KLU is already fast enough, however everytime when I try to use the same factorized matrix across multiple threads it already slow down the whole process.
Frankly speaking, factorization in KLU is already fast enough, however everytime when I try to use the same factorized matrix across multiple threads it already slow down the whole process.
Excuse me, if we need to make the solution of the linear equation Ax=b
on two threads, so what is the steps you do with the factorized matrix? In other words, after the factor step (on serial) what do you do? cause I did not know how to solve this x=(LU+F)\b
comparing with x=U\L\b
in LU factorization.
In my use case, b is multi-vector or 2D matrix whatever you name it, so apparently the solve process could be paralleled.
In my use case, b is multi-vector or 2D matrix whatever you name it, so apparently the solve process could be paralleled.
I see. So, each thread will work on one vector of b
but with the same A
, right?
Yes
@Wimmerer Your help here is very appreciated. Given a linear equation `Ax=b:
x=U\L\b
x=(LU+F)\b
seems to be very slow.KLU is just a simple left-looking sparse solver. For speed, you need to look at SuperLU, other SuiteSparse solvers, etc.
Is there any parallel solver for KLU sofar, such as that for MKLPardisoSolver?