I recently found a strange phenomenon when invoking the pardiso solver to solve a linear equation, the details are as follows:
For a linear equation with multiple right-hand sides: AX=B, where A is an nxn matrix, B is an nxm matrix, and m is the number of right-hand sides.
When I solve the equation in the following way (pseudocode), the result is correct.
1. I have confirmed that the B(i) entered in each loop is correct.
2. These same calculation results may be the correct result of a certain thread, or may be the initial 0 value.
3. In rare cases, all threads can get different calculation results, and the results are correct.
!$OMP Parallel Do Num_Threads(p)
!$OMP end Parallel Do
Thanks for reaching out to us.
Could you please provide us with the following details so that we could try reproducing the issue from our end?
> MKL Version being used
> Complete sample reproducer code and steps to reproduce it (commands to compile and run)
> OS environment details
> Expected results and observed results (i.e. the results that you are getting while running in parallel mode)
Since this is a duplicate thread of https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/The-wrong-result-when-using-Pardiso-solver-to-solve-linear/td-p/1414332, we will no longer monitor this thread. We will continue addressing this issue in the other thread.