Developer Reference

Contents

Usage Examples for CNR Support Functions

The following examples illustrate usage of support functions for conditional numerical reproducibility.

Setting Automatically Detected CNR Branch

#include <mkl.h> int main(void) { int my_cbwr_branch; /* Find the available MKL_CBWR_BRANCH automatically */ my_cbwr_branch = mkl_cbwr_get_auto_branch(); /* User code without Intel MKL calls */ /* Piece of the code where CNR of Intel MKL is needed */ /* The performance of Intel MKL functions might be reduced for CNR mode */ if (mkl_cbwr_set(my_cbwr_branch)!=MKL_CBWR_SUCCESS) { printf("Error in setting MKL_CBWR_BRANCH! Aborting…\n"); return; } /* CNR calls to Intel MKL + any other code */ }

Use of the
mkl_cbwr_get
Function

#include <mkl.h> int main(void) { int my_cbwr_branch; /* Piece of the code where CNR of Intel MKL is analyzed */ my_cbwr_branch = mkl_cbwr_get(MKL_CBWR_BRANCH); switch (my_cbwr_branch) { case MKL_CBWR_AUTO: /* actions in case of automatic mode */ break; case MKL_CBWR_SSSE3: /* actions for SSSE3 code */ break; default: /* all other cases */ } /* User code */ }
Product and Performance Information
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.
Notice revision #20201201

Product and Performance Information

1

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