- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Euan,
Let's start from the second question. The setting msglvl = 0 turns off printing of statistical information to the console.
The non-deterministic behavior can be explained by the largecondition number of your matrix and it is not connected with your way of MKL usage.The condition number of your matrix computed with the help of DGESVD from LAPACK is equal to 3.9347692E+14.As you know, the condition number is the measure of sensitivity of the system to round off errors. Since PARDISO as some other parts of MKL uses dynamic parallelization, round off errors as well as solution vectors might slightly vary from run to run. According to the theory (see for example the book "Matrix algorithms" by G.W.Stewart ), any variation in solution vector which satisfies to the condition || exact solution - computed solution ||/ || right hand side || < the condition number multiplied the relative precision for double data type is considered as normal. For your matrix, the value of the condition number multiplied the relative precision for double data type is 4.368471354246140E-002. I run your code with different number of threads and the deviation measured as max | first solution - second solution | was always less than 4.368471354246140E-002. If you are interested in repeatable results I'd recommend using the sequential version of MKL.
All the best
Sergey
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page