SciML / LinearSolve.jl

LinearSolve.jl: High-Performance Unified Interface for Linear Solvers in Julia. Easily switch between factorization and Krylov methods, add preconditioners, and all in one interface.
https://docs.sciml.ai/LinearSolve/stable/
Other
244 stars 52 forks source link

Allow to distinguish between Pardiso and MKLPardiso #364

Closed j-fu closed 2 months ago

j-fu commented 1 year ago

Hi,

At the moment, in the Pardiso extension: https://github.com/SciML/LinearSolve.jl/blob/3881230cf34d6a0414e8ca12de1280d00f5a0e8b/ext/LinearSolvePardisoExt.jl#L28

it is not possible to distinguish between Pardiso and MKLPardiso Since MKL Pardiso was forked off in the early 2000's these are now quite different codes. I think we need to be able to distinguish between them.

ChrisRackauckas commented 1 year ago

Right now it uses Pardiso if Pardiso is installed and loaded, and MKLPardiso otherwise. The reason is because MKLPardiso automatically installs and Pardiso takes a whole crazy installation process, so if you went through all of those steps we assume you want to use it. But it would be very straightforward to add a boolean that allows someone which one to choose. Since it's just a high level branch we can just add mkl=nothing as a default kwarg in the PardisoJL type which chooses which one to load.

j-fu commented 2 months ago

Solved with https://github.com/SciML/LinearSolve.jl/pull/506