Math Kernel Library Developer Guide

Specifying Code Branches

Intel® oneAPI Math Kernel Library 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 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

SSE2

Intel SSE2

SSE3

DEPRECATED. Intel® Streaming SIMD Extensions 3 (Intel® SSE3). This setting is kept for backward compatibility and is equivalent to SSE2.

SSSE3

Supplemental Streaming SIMD Extensions 3 (SSSE3)

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 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