Developer Reference

Contents

mkl_free_buffers

Frees unused memory allocated by the
Intel® oneAPI Math Kernel Library
Memory Allocator.

Syntax

void
mkl_free_buffers
(
void
);
Include Files
  • mkl.h
Description
To improve performance of
Intel® oneAPI Math Kernel Library
, the Memory Allocator uses per-thread memory pools where buffers may be collected for fast reuse. The
mkl_free_buffers
function frees unused memory allocated by the Memory Allocator.
See the
Intel® oneAPI Math Kernel Library
Developer Guide
for details.
You should call
mkl_free_buffers
after the last call to
Intel® oneAPI Math Kernel Library
functions. In large applications, if you suspect that the memory may get insufficient, you may call this function earlier, but anticipate a drop in performance that may occur due to reallocation of buffers for subsequent calls to
Intel® oneAPI Math Kernel Library
functions.
Product and Performance Information
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.
Notice revision #20201201

Usage of mkl_free_buffers with FFT Functions

DFTI_DESCRIPTOR_HANDLE hand1; DFTI_DESCRIPTOR_HANDLE hand2; void mkl_free_buffers(void); . . . . . . /* Using Intel MKL FFT */ Status = DftiCreateDescriptor(&hand1, DFTI_SINGLE, DFTI_COMPLEX, dim, m1); Status = DftiCommitDescriptor(hand1); Status = DftiComputeForward(hand1, s_array1); . . . . . . Status = DftiCreateDescriptor(&hand2, DFTI_SINGLE, DFTI_COMPLEX, dim, m2); Status = DftiCommitDescriptor(hand2); . . . . . . Status = DftiFreeDescriptor(&hand1); . . . . . . Status = DftiComputeBackward(hand2, s_array2)); Status = DftiFreeDescriptor(&hand2); /* Here you finish using Intel MKL FFT */ /* Memory leak will be triggered by any memory control tool */ /* Use mkl_free_buffers() to avoid memory leaking */ mkl_free_buffers();

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.