Hello everyone,
I recently took a bit of time to clean up my wrapper to the linear solver
library Pardiso that exist in MKL and as a standalone project
(http://www.pardiso-project.org/). It should now hopefully work on both
UNIX and Windows systems and have a decent interface.
The Pardiso library is commercial software but MKL has academic and
community licenses while Project Pardiso has academic licenses so they are
quite available.
I would like to tag a new version of it but before I do that it would be
nice if someone else could try it out and see if things work. Since this is
a wrapper to a binary library a lot of things can go wrong and a bit more
battle testing would be very useful. I have run it with passing tests on
two unix machines and one windows but this is of course a very small
configuration space. If anyone is interested, it would be helpful if you
could look at the installation instructions and see if a
Pkg.test("Pardiso") works. Any comments about the interface is also
appreciated.
Note that the master version is needed:
Pkg.add("Pardiso")
Pkg.checkout("Pardiso")
Here is a benchmark solving a (positive definite) system from a discretized
heat problem comparing it to Julias default which in this case is CHOLMOD:
julia> nnz(A)
668656
julia> @time factorize(A) \ x
# 3.442693 seconds
julia> ps = MKLPardisoSolver()
julia> @time solve(ps, A, x)
# 1.495566 seconds
Thanks!
// Kristoffer