Specifying Code Branches

Intel® oneAPI Math Kernel Library (oneMKL) provides a conditional numerical reproducibility (CNR) functionality that enables you to obtain reproducible results from oneMKL routines. When enabling CNR, you choose a specific code branch of Intel® oneAPI Math Kernel Library (oneMKL) that corresponds to the instruction set architecture (ISA) that you target. You can specify the code branch and other CNR options using theMKL_CBWR environment variable.

Use the STRICT flag to enable strict CNR mode. For more information, see Reproducibility Conditions.

The <branch> placeholder specifies the CNR branch with one of the following values:

Value

Description

AUTO

CNR mode uses the standard ISA-based dispatching model while ensuring fixed cache sizes, deterministic reductions, and static scheduling

COMPATIBLE

Intel® Streaming SIMD Extensions 2 (Intel® SSE2) without rcpps/rsqrtps instructions

SSE4_2

Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2)

AVX

Intel® Advanced Vector Extensions (Intel® AVX)

AVX2

Intel® Advanced Vector Extensions 2 (Intel® AVX2)

AVX512

Intel AVX-512 on Intel® Xeon® processors

AVX512_E1

Intel® Advanced Vector Extensions 512 (Intel® AVX-512) with support for Vector Neural Network Instructions

AVX512_MIC

DEPRECATED. Intel® Advanced Vector Extensions 512 (Intel® AVX-512) on Intel® Xeon Phi™ processors. This setting is kept for backward compatibility and is equivalent to AVX2.

AVX512_MIC_E1

DEPRECATED. Intel® Advanced Vector Extensions 512 (Intel® AVX-512) with support for Vector Neural Network Instructions on Intel® Xeon Phi™ processors. This setting is kept for backward compatibility and is equivalent to AVX2.

When specifying the CNR branch, be aware of the following:

Setting the MKL_CBWR environment variable or a call to an equivalent mkl_cbwr_set function fixes the code branch and sets the reproducibility mode.

Note

See the Intel® oneAPI Math Kernel Library (oneMKL) Developer Reference for how to specify the branches using functions.

Product and Performance Information

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

Notice revision #20201201

See Also