Pardiso.jl icon indicating copy to clipboard operation
Pardiso.jl copied to clipboard

Failure on Intel Mac

Open ranjanan opened this issue 3 years ago • 4 comments

I've encountered this error while running Pardiso on an Intel Mac. (I observed this largely on Julia v1.7 but I could not get a chance to double check whether this happens on 1.6). It causes the test failure here

The error is like:

Raster Pairwise: Error During Test at /Users/runner/work/Circuitscape.jl/Circuitscape.jl/src/utils.jl:308
  Got exception outside of a @test
  Not enough memory.
  Stacktrace:
    [1] check_error(ps::Pardiso.MKLPardisoSolver, err::Int32)
      @ Pardiso ~/.julia/packages/Pardiso/3uj3F/src/mkl_pardiso.jl:79
    [2] ccall_pardiso(ps::Pardiso.MKLPardisoSolver, N::Int64, nzval::Vector{Float64}, colptr::Vector{Int64}, rowval::Vector{Int64}, NRHS::Int64, B::Vector{Float64}, X::Vector{Float64})
      @ Pardiso ~/.julia/packages/Pardiso/3uj3F/src/mkl_pardiso.jl:73
    [3] pardiso(ps::Pardiso.MKLPardisoSolver, X::Vector{Float64}, A::SparseArrays.SparseMatrixCSC{Float64, Int64}, B::Vector{Float64})
      @ Pardiso ~/.julia/packages/Pardiso/3uj3F/src/Pardiso.jl:346
    [4] #_#36
      @ ~/work/Circuitscape.jl/Circuitscape.jl/src/utils.jl:459 [inlined]

(Full error)[https://github.com/Circuitscape/Circuitscape.jl/runs/4644991065?check_suite_focus=true#step:6:180]

To reproduce:

using JLD2, FileIO
ps = MKLPardisoSolver()

A = load("mat2.jld2")["G"]
B = rand(size(A,1))
X = zeros(size(A,1))
solve!(ps, X, A, B)


I've attached the matrix JLD2 here.

mat2.zip

ranjanan avatar Jan 10 '22 06:01 ranjanan

This example works on Julia v1.6.5.

ranjanan avatar Jan 12 '22 03:01 ranjanan

This example works on Julia v1.6.5.

That's surprising to me. I don't see how a different Julia version would influence this.

KristofferC avatar Jan 12 '22 13:01 KristofferC

Not failing on my intel mac with 1.7.3 - but I am getting incorrect answers. But circuitscape tests on trivial sized matrices seem to be running out of memory and complaining about ordering (not the case in 1.6).

https://github.com/Circuitscape/Circuitscape.jl/runs/5368204337?check_suite_focus=true

I am hoping that MKL 2022 may be somehow better. Opened a PR for that.

ViralBShah avatar Mar 01 '22 01:03 ViralBShah

Out of memory errors and complaint about matrix ordering are also symptomatic of the problems in #73 and #88. It could be that the error is caused by a 32bit vs 64bit error when calling MKL. The issue appear sporadically since it depends on the load order of other packages, which might explain why it is not easily reproducible.

goulart-paul avatar Mar 08 '22 17:03 goulart-paul

Intel mac support is deprecated in MKL.

ViralBShah avatar Feb 15 '24 05:02 ViralBShah