Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
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 (oneMKL) 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 (oneMKL). Once this function is called, the application can no longer call Intel® oneAPI Math Kernel Library (oneMKL) 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 (oneMKL). 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 (oneMKL) shared libraries automatically perform finalization when they are unloaded. If an application is statically linked to Intel® oneAPI Math Kernel Library (oneMKL), the operating system frees all resources allocated by Intel® oneAPI Math Kernel Library (oneMKL) during termination of the process associated with the application.