I am wondering that if there are some easy-to-use parallel linear solvers in Julia?
I have tried MUMPS.jl
, but if you want to parallelize it, you have to use MPI.jl
, then other parts of the code will be executed ‘number of cores’ times.
I tried Pardiso.jl
too, only with the MKLPardisosolver()
. I found that the default number of threads of a MKLPardisosolver
is the maximum number of threads available. If you give less number of threads to the pardiso solver, it is slower than a single threaded MUMPS
solver. (I tested these solvers with sprand
, just for test, iterative solvers should be more suitable in this case).
The IterativeSolver.jl
seems only work single threaded, Krylov.jl
supports multi-threads by multi-threaded sparse matrix-vector products.
So is there any easy-to-use parallel direct linear solver in Julia?
Or is it possible to only use MPI
for MUMPS.jl
, not for the other part of code.
Thanks for your help!
1 Like
Thanks Chris! I have not noticed HYPRE.jl
before. I will have a try.
Or is it possible to only use
MPI
forMUMPS.jl
, not for the other part of code.
Sure. You can use MPI barriers. That’s what they’re for.
Thanks for your reply! I will check how to implement it.
Hello! How did you solve your problem in the end? were you able to find a nice linear solver?