- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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
Link Copied
7 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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,
Alexander Kalinkin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Kalinkin.
Thank you for your reply.
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.
And I already tried to your advise to apply multiple RHS.
But core dump error was generated at PARDISO function.
I will try again.
Thank you.
Regards.
B. Hwang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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,
Alexander Kalinkin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you.
But, I don't understand why such direct solver needs the iterative refinement step?
Regards.
B. Hwang
But, I don't understand why such direct solver needs the iterative refinement step?
Regards.
B. Hwang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The iterative refinement needs to be done to improve accuracy of solution obtained by directCholesky algorithm.
With best regards,
Alexander Kalinkin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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