Hello Intel Developers,
We just switched to oneMKL 2025.0 and found some of our numerical simulation code crashing. Enclosed to this post is a simple reproducer, which worked fine in 2021.3, but crashes in 2025.0. The reproducer factorizes complex symmetric indefinite matrix. The symbolic analysis seems to work fine, but the subsequent cluster_sparse_solver call with phase = 22 (for numerical factorization) crashes. The platform is windows, and we build it with 64-bit indexing (ilp64)
Thanks in advance for looking!
Dmitry
Hi Dmitry,
The issue has been fixed. The fix will be included in the 2025.2 release.
Thanks,
Fengrui
链接已复制
Hi Dmitry,
Thank you for reaching out to us!
I can reproduce the crash at numerical factorization when using 1 MPI process. In this case, turning on msglvl, it shows that actually oneMKL SMP Pardiso solver is called.
However, if I use more than 1 MPI processes, I got through all the three stages, and obtained the solution,
The solution of the system is:
x [0] = 0.095477 + j*0.000000
x [1] = 0.045226 + j*0.000000
Relative residual = 7.850462e-17
In this case (np>1), I got errors when trying to get the size of L factor,
Getting size and numbers of nonzeros for the factors L and U... Export functionality error: CODE PATH = 1 not supported.
ERROR during getting sizes for L data: -9
It's likely something wrong in the solver. I will get back to you later.
Thanks,
Fengrui
Fengrui, thanks for getting back to me.
Here is one more detail to add -- we found that if we specify the solver parameters explicitly ( iparm[0] = 1 and others ) instead of letting solver use the defaults ( iparm[0] = 0 ) the crash goes away.
So we have a good working workaround for this problem now.
Hi Dmitry, the team is currently working on this issue.
As for the workaround to set parameters explicitly, I observed an error at symbolic factorization when trying to use 2 MPI processes to run this simple test (passed if only using 1). Do you also see this behavior for the reproducer/real cases?
Thanks,
Fengrui
Hi Fengrui,
We only use it with one process, so I can not comment on multi-process behavior.
Our only reason for using the cluster sparse solver (instead of using PARDISO directly) is that we need access to exported L and U factors (reasons for that outlined in another thread here MKL PARDISO, get L U factors - Intel Community)
Thanks
Dmitry
Hi Dmitry,
The issue has been fixed. The fix will be included in the 2025.2 release.
Thanks,
Fengrui
Hi Dmitry,
Did you get a chance to try the latest 2025.2 release?
Best,
Fengrui
Hi Fengrui -- not yet unfortunately, but I hope to do it soon. Thanks for the fix!
