Reproducibility Conditions

To get reproducible results from run to run, ensure that the number of threads is fixed and constant. Specifically:

OpenMP* Offload

Starting in version 2024.1, numerical reproducibility is supported for using OpenMP* offload to execute BLAS level-3 routines and batched extensions on the GPU. CNR will be enabled for GPU whenever any CNR code branch is enabled (that is, in the case of a setting other than MKL_CBWR_OFF or MKL_CBWR_BRANCH_OFF). For more information on CNR support for GPU, see the oneMKL Developer Guide.

Strict CNR Mode

In strict CNR mode, oneAPI Math Kernel Library provides bitwise reproducible results for a limited set of functions and code branches even when the number of threads changes. These routines and branches support strict CNR mode (64-bit libraries only):

When using other routines or CNR branches,oneAPI Math Kernel Library operates in standard (non-strict) CNR mode, subject to the restrictions described above. Enabling strict CNR mode can reduce performance.

Note

Product and Performance Information

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.

Notice revision #20201201

See Also