Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.

PARDISO reproducibility

nedialk
Novice
500 Views

 

For numerical reproducibility we need to set iparm[33] > 0 before the symbolic factorization, and this iparm cannot be changed after. 

Is there a way to request reproducibility for a particular phase of the solving. E.g. how to request that only the numerical factorization is reproducible? That is I want to do e.g.

iparm[33] = 4;

numerical factorization 

iparm[33] = 0

 

Thank you. 

 

 

0 Kudos
6 Replies
ShanmukhS_Intel
Moderator
463 Views

Hi,

 

>>For numerical reproducibility we need to set iparm[33] > 0 before the symbolic factorization, and this iparm cannot be changed after. 

Intel® oneAPI Math Kernel Library PARDISO reads the value of iparm[33] during the analysis phase (phase 1), so it cannot be changed later.

 

Optimal number of OpenMP threads for conditional numerical reproducibility (CNR) mode.

 

0*

CNR mode for Intel® oneAPI Math Kernel Library PARDISO is enabled only if it is enabled for 

Intel® oneAPI Math Kernel Library using the functionality described inSupport Functions for CNRand the in-core version is used. 

Intel® oneAPI Math Kernel Library  PARDISO determines the optimal number of OpenMP threads automatically, and produces numerically reproducible results regardless of the number of threads.

>0

CNR mode is enabled for Intel® oneAPI Math Kernel Library

PARDISO if in-core version is used and the optimal number of OpenMP threads for 

Intel® oneAPI Math Kernel Library  PARDISO to rely on is defined by the value of

Iparm [33]. You can use iparm[33]to enable CNR mode independent from other 

Intel® oneAPI Math Kernel Library domains. To get the best performance, set

iparm[33] to the actual number of hardware threads dedicated for 

Intel® oneAPI Math Kernel Library PARDISO. Setting iparm[33] to fewer OpenMP threads than the maximum number of them in use reduces the scalability of the problem being solved. Setting iparm[33]

to more threads than are available can reduce the performance of Intel® oneAPI Math Kernel Library PARDISO.

 

Could you elaborate a bit regarding why iparam[33] Is required to change in your case.


Best Regards,

Shanmukh.SS


nedialk
Novice
439 Views

 

>> Could you elaborate a bit regarding why iparam[33] Is required to change in your case.

 

I wanted to figure out which part of the solution process causes the different results I am getting. I was hoping to turn on and off 

this parameter for the various parts of the solving. 

 

Thanks,

Ned

ShanmukhS_Intel
Moderator
417 Views

Hi,

 

Kindly refer the below link for the usage of iparm[33] and various other iparm parameters.

 

https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/onemkl-pardiso-parallel-direct-sparse-solver-iface/pardiso-iparm-parameter.html

 

You cannot change the iparm[33] parameter later , because Intel® oneAPI Math Kernel Library PARDISO reads the value of iparm[33] during the analysis phase (phase 1)

 

Intel® oneAPI Math Kernel Library PARDISO uses C random number generator facilities during the analysis phase (phase 1)

You must take these precautions to get numerically reproducible results:

Do not alter the states of the random number generators.

Do not run multiple instances of Intel® oneAPI Math Kernel Library PARDISO in parallel in the analysis phase (phase 1).

 

>> I wanted to figure out which part of the solution process causes the different results I am getting.

In addition, Could you please share us a sample reproducer so that we could try it at our end?

 

Best Regards,

Shanmukh.SS

 

ShanmukhS_Intel
Moderator
388 Views

Hi,


Reminder:

Has the information provided helped? Is your issue resolved?


Kindly let us know if we could close this thread at our end.


Best Regards,

Shanmukh.SS


ShanmukhS_Intel
Moderator
360 Views

Hi,


We haven't heard back from you. We assume that your issue is resolved. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.


Best Regards,

Shanmukh.SS


nedialk
Novice
338 Views
Reply