Hi everyone,
I would like to do something like:
... // a lot of stuff with several calls to MKL routines int cbwrStatus = mkl_cbwr_set(MKL_CBWR_AUTO); int status = LAPACKE_dsyev( LAPACK_ROW_MAJOR, 'V', 'L', rank, matrix, rank, eigenValues ); mkl_cbwr_set(MKL_CBWR_BRANCH_OFF); ... // a lot of stuff with several calls to MKL routines
Here, mkl_cbwr_set calls fail with MKL_CBWR_ERR_MODE_CHANGE_FAILURE, obviously.
So, two questions:
- why is it forbidden (impossible ?) to change the CNR mode after a call to some MKL function ?
- is there a way to set the CNR mode for only one function ?
In my case, "dsyev" is the only function really critical for the reproductibility. I do not want to force the CNR mode at the beginning or before the execution because I am afraid of performance regression.
Thanks in advance for your help,
Guix