Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 12/16/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

mkl_finalize

Terminates Intel® oneAPI Math Kernel Library execution environment and frees resources allocated by the library.

Syntax

void mkl_finalize(void);

Include Files
  • mkl.h
Description

This function frees resources allocated by Intel® oneAPI Math Kernel Library. Once this function is called, the application can no longer call Intel® oneAPI Math Kernel Library functions other thanmkl_finalize.

In particular, the mkl_finalizefunction enables you to free resources when a third-party shared library is statically linked to Intel® oneAPI Math Kernel Library. To avoid resource leaks that may happen when a shared library is loaded and unloaded multiple times, callmkl_finalize each time the library is unloaded. The recommended method to do this depends on the operating system:

  • On Linux* or macOS*, place the call into a shared library destructor.

  • On Windows*, call mkl_finalize from the DLL_PROCESS_DETACH handler of DllMain.

NOTE:

Intel® oneAPI Math Kernel Library shared libraries automatically perform finalization when they are unloaded. If an application is statically linked to Intel® oneAPI Math Kernel Library, the operating system frees all resources allocated by Intel® oneAPI Math Kernel Library during termination of the process associated with the application.