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

PARDISO reproducibility

nedialk
Novice
873 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
836 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


0 Kudos
nedialk
Novice
812 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

0 Kudos
ShanmukhS_Intel
Moderator
790 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

 

0 Kudos
ShanmukhS_Intel
Moderator
761 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


0 Kudos
ShanmukhS_Intel
Moderator
733 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


0 Kudos
nedialk
Novice
711 Views
0 Kudos
Reply