Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

Handling Fatal Errors

A fatal error is a circumstance under which
Intel® oneAPI Math Kernel Library
cannot continue the computation. For example, a fatal error occurs when
Intel® oneAPI Math Kernel Library
cannot load a dynamic library or confronts an unsupported CPU type. In case of a fatal error, the default
Intel® oneAPI Math Kernel Library
behavior is to print an explanatory message to the console and call an internal function that terminates the application with a call to the system
exit()
function.
Intel® oneAPI Math Kernel Library
enables you to override this behavior by setting a custom handler of fatal errors. The custom error handler can be configured to throw a C++ exception, set a global variable indicating the failure, or otherwise handle cannot-continue situations. It is not necessary for the custom error handler to call the system
exit()
function. Once execution of the error handler completes, a call to
Intel® oneAPI Math Kernel Library
returns to the calling program without performing any computations and leaves no memory allocated by
Intel® oneAPI Math Kernel Library
and no thread synchronization pending on return.
To specify a custom fatal error handler, call the
mkl_set_exit_handler
function.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804