- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Intel Team,
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.
do i=1,m
call pardiso(A,B(i),X(i))
end do
correct result:
However, when I solve the equation in the following way (pseudocode), all or some of the threads compute the same result, i.e. all or some of the columns of X are the same. Notice:
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.
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)
do i=1,m
call pardiso(A,B(i),X(i))
end do
!$OMP end Parallel Do
wrong result:
Such a phenomenon is very strange, and it confuses me. I would like to know what is causing this? Is it not possible to call the pardiso solver in the OpenMP way? Or do I need to adjust the input parameters of the pardiso solver when calling the pardiso solver in OpenMP?
Best wishes,
Ewigstern
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ewigstern,
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)
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ewigstern,
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.
Regards,
Vidya.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page