Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
6680 Discussions

## Qustion about PARDISO solve phase=33 part run-time.

Beginner
202 Views
Dear.

In our case, PARDISO solve phaseloginformation shows below,

Time solve : 0.022912 s
Time total : 0.080525 s total - sum:0.057613 s

I accepted Time solve as CPU time, and Total time as Elapse time.
I don't know why Time solve and Time total are so different.
Are there any method to reduce of the time difference?
I mean I want to know,
are there any methods to reduce the Time total.

And I want to get the PARDISO multiple RHS C code example.

regards.
B. Hwang
7 Replies
Employee
202 Views
Hi,
Solving step of PARDISO calculate solution of system Ax=b and some iterative refinement of calculated solution to obtain better result. So total time in your case is time to direct solve (0.022) + time to iterative refinement (0.057).
The example of PARDISO with multiple RHS could be obtained from any example of PARDISO with 1 rhs in MKL example folder: it is need to change variable nrhs from 1 to 5 (for example) and increase size of arrays b and x (rhs and solution arrays correspondingly) in 5 times. The resulted example provide solution system of linear equations with 5 rhs by PARDISO.
With best regards,
Beginner
202 Views

So, is it possible to reduce the iteration number at the iterative refinement step.
I want to compare the results according to interation number.
Ifthe resultis acceptable, I want to reduce the interation number
to reduce total run time.

But core dump error was generated at PARDISO function.
I will try again.

Thank you.
Regards.
B. Hwang

Employee
202 Views
Hi,

You can set maximum number of iterative refinement and obtain resulted number of iteration using iparm[7] and iparm[6] correspondingly.
What about dump in PARDISO with many rhs: check size of arrays x and b, it must be (n*NRHS), where n is size of problem, NRHS - number of right hand side.
With best regards,
Beginner
202 Views
Thank you.

But, I don't understand why such direct solver needs the iterative refinement step?

Regards.
B. Hwang
Employee
202 Views
Hi,

The iterative refinement needs to be done to improve accuracy of solution obtained by directCholesky algorithm.
With best regards,
Beginner
202 Views

Thanks.

What is the error rate whether it is applied or not?
Do you have a statistic result about that?
In our case, it is negligible.

Regards.
B. Hwang

Employee
202 Views
Hi,
Theiterative refinement could be turn on/off by using iparm(8). If during numerical factorization perturbed pivots are obtained (for example when initial matrix non positive define) 2 steps of iterative refinements calculate cause to improve onbtained iteration. If there are not any perturbed pivots you can decline iterative refinemts by setting iparm(8) = 0.