Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 10/31/2024
Public
Document Table of Contents

Handling Fatal Errors

A fatal error is a circumstance under which Intel® oneAPI Math Kernel Library (oneMKL) cannot continue the computation. For example, a fatal error occurs when Intel® oneAPI Math Kernel Library (oneMKL) cannot load a dynamic library or confronts an unsupported CPU type. In case of a fatal error, the default Intel® oneAPI Math Kernel Library (oneMKL) behavior is to print an explanatory message to the console and call an internal function that terminates the application with a call to the systemexit()function. Intel® oneAPI Math Kernel Library (oneMKL) 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 systemexit()function. Once execution of the error handler completes, a call to Intel® oneAPI Math Kernel Library (oneMKL) returns to the calling program without performing any computations and leaves no memory allocated by Intel® oneAPI Math Kernel Library (oneMKL) and no thread synchronization pending on return.

To specify a custom fatal error handler, call the mkl_set_exit_handler function.