Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

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

mkl_finalize

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

Syntax

call mkl_finalize

Fortran Include Files/Modules

  • Include file: mkl.fi
  • Module (compiled): mkl_service.mod
  • Module (source): mkl_service.f90

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.