Open urchgene opened 5 years ago
ERROR: LoadError: InexactError: trunc(Int32, 2147580541)
@urchgene Is 2147580541 an actual row/column index in your matrix? MUMPS only accepts 32 bit integers, and the error message indicates that this integer is too large.
Just to add to this, the manual says it's possible to compile MUMPS in 64bit, but all dependent libraries will also have to be compiled with 64 bit integers (BLAS, LAPACK, ScaLAPACK, METIS, SCOTCH, ...). The MUMPS.jl interface will subsequently have to be modified.
@dpo I still don't understand. I doubt my matrix is that large although it is a large problem. Also I am using Julia's Float64 bcos the last time I tried to solve with Float32 matrices passed to MUMPS from Julia, the results were inaccurate.
My question is this:
@urchgene The issue isn't with the values in your matrix but with the integers used to index the nonzeros. It seems at least one of them is too large for a 32bit integer.
Julia's solver might succeed because it calls SuiteSparse, which accepts 64 bit integer indices.
@dpo I see. In that case that might be true. Hmm. That means no fix unless 64 bit integer MUMPS compiled. That is another hurdle.
It's not difficult but probably a bit tedious because it requires changes in several places. If you managed to compile your own MUMPS/ScaLAPACK/BLAS/METIS with 64bit Int support, changing MUMPS.jl isn't difficult. I'd also need to change libmumps_simple.
@dpo I am using MUMPS to solve a linear systems and I get this error:
The core of the script was:
Btw Julia's solver
\
works for the same problem. The exact place the script failed was hereassociate_matrix!(mumps, C)
.Thanks.
Uche.