Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Comunicados
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
7234 Discussões

Change in behavior of Pardiso and Sparse Cluster Solver for symmetric indefinite matrices

Marcos_V_1
Novo colaborador I
1.430 Visualizações

Hi, we are testing the latest OneAPI 2025.0 and noted that our calculations (fortran code) for indefinite symmetric Poisson matrices are not being solved correctly either by Pardiso or cluster sparse solver. Now we just get a zero vector as solution regardless of the RHS provided.

These are solved correctly for OneAPI 2024.2.

 

Has something changed in the parameters needed to be input to deal with these matrices?

 

Thank you,

 

Marcos

0 Kudos
1 Solução
Fengrui
Moderador
1.161 Visualizações

We changed the behavior of iterative refinement (iparm(8)) in oneMKL 2025.0. In the sample code, right before entering phase 33, iparm(8) is set to 0. It will turn off the iterative refinement, while in prior releases, this setting will perform two steps of iterative refinement when there are perturbed pivots. So to get the same behavior as in 2024.2, you could change the value of iparm(8) from 0 to 2, or simply comment that line out. 

Another finding is that if turning off scaling (iparm(11)) and matching (iparm(13)), similar results are also obtained, even with iparm(8)=0. But one potential issue here is that we might not expect all-zero solutions in this case, even with iparm(8)=0, iparm(11)=1 and iparm(13)=1. We are doing further investigation on this behavior. 

Thanks,

Fengrui

Ver solução na publicação original

9 Respostas
Marcos_V_1
Novo colaborador I
1.414 Visualizações

I added an issue in our software repository here: https://github.com/firemodels/fds/issues/13784

Marcos_V_1
Novo colaborador I
1.355 Visualizações

This is a standalone reproducer of the bug using CLUSTER_SPARSE_SOLVER on a single MPI process and symmetric indefinite sparse matrix of  size 64^2.

Follow the README in the tarball to compile and reproduce the issue with MKL 2025.0 in Linux. For sizes of matrices smaller then 2000^2 it gives a zero solution no matter what is the RHS.

The issue is seen in both PARDISO and CLUSTER_SPARSE_SOLVER in Windows and Linux with latest OneAPI 2025.0.1.

Please let us know if you can reproduce the issue.

 

Thank you,

Marcos

 

Marcos_V_1
Novo colaborador I
1.234 Visualizações

Hi, has anyone been able to reproduce the issue with PARDISO/CPARDISO I posted? It is very important for us to get this sorted as it does affect our continuous integration process.

Thank you for your time!

Marcos

Fengrui
Moderador
1.208 Visualizações

Hi Marcos,

 

Thank you for posting in the forum!

I can reproduce this issue on my side. I will dig more into it and get back to you soon.

 

Thanks,

Fengrui

Marcos_V_1
Novo colaborador I
1.199 Visualizações

Thank you Fengrui, let me know if you need anything else from us.

Regards,

Marcos

Fengrui
Moderador
1.162 Visualizações

We changed the behavior of iterative refinement (iparm(8)) in oneMKL 2025.0. In the sample code, right before entering phase 33, iparm(8) is set to 0. It will turn off the iterative refinement, while in prior releases, this setting will perform two steps of iterative refinement when there are perturbed pivots. So to get the same behavior as in 2024.2, you could change the value of iparm(8) from 0 to 2, or simply comment that line out. 

Another finding is that if turning off scaling (iparm(11)) and matching (iparm(13)), similar results are also obtained, even with iparm(8)=0. But one potential issue here is that we might not expect all-zero solutions in this case, even with iparm(8)=0, iparm(11)=1 and iparm(13)=1. We are doing further investigation on this behavior. 

Thanks,

Fengrui

Marcos_V_1
Novo colaborador I
1.102 Visualizações

Thank you Fengrui! Looks like that fixed the issue. It is interesting the having no iterative refinements IPARM(8)=0 gives the right solution for matrices over 2000 unknowns, but not for small matrices.

We'll run our CI tests tonight to do further testing.

Best,

Marcos

Marcos_V_1
Novo colaborador I
1.005 Visualizações

Thank you Fengrui for your advice. Switching iparm(8) to 2 explicitly took care of the issue we were seeing with MKL 2025.

Let me know about the other behavior you are noting.

Best Regards,

Marcos

 

Fengrui
Moderador
982 Visualizações

It's great that the issues are gone with the value change of iparm(8)!

We are still investigating the behavior that scaling and matching turning on and iterative refinement turning off would lead to trivial solution. We will update in this post once there is a conclusion. 

Thanks,

Fengrui

Responder