Visible to Intel only — GUID: GUID-79C800D4-AD74-4BAC-86D6-27D3C9CB3FC4
Visible to Intel only — GUID: GUID-79C800D4-AD74-4BAC-86D6-27D3C9CB3FC4
Numerical Reproducibility
Executing a BLAS routine with the same inputs may result in slightly different results from run to run. This is due, fundamentally, to the limited precision of floating-point arithmetic. In particular, the results of a summation
will depend on the order of operations, because floating-point addition is not associative. Because of this nonassociative behavior, some algorithms used by oneMKL BLAS routines may produce slightly different results depending on the ordering of internal operations.
In some cases, it may be desirable to ensure deterministic (run-to-run bitwise reproducible) results. oneMKL supports conditional numerical reproducibility (CNR) modes that provide bitwise reproducibility guarantees under certain circumstances. CNR mode is available on CPU for all BLAS DPC++ APIs, and on GPU for level-3 routines and level-3 extensions.
More information on CNR mode may be found in the oneMKL Developer Guide (Windows, Linux).