Developer Reference

  • 2021.1
  • 12/04/2020
  • Public Content
Contents

mkl_set_memory_limit

On Linux, sets the limit of memory that
Intel® oneAPI Math Kernel Library
can allocate for a specified type of memory.

Syntax

int
mkl_set_memory_limit
(
int
mem_type
,
size_t
limit
);
Include Files
  • mkl.h
Input Parameters
Name
Type
Description
mem_type
int
Type of memory to limit. Possible values:
MKL_MEM_MCDRAM
- Multi-Channel Dynamic Random Access Memory (MCDRAM) (for more details, see https://software.intel.com/content/www/us/en/develop/articles/mcdram-high-bandwidth-memory-on-knights-landing-analysis-methods-tools.html).
limit
size_t
Memory limit in megabytes.
Description
This function sets the limit for the amount of memory that
Intel® oneAPI Math Kernel Library
can allocate for the specified memory type. The limit bounds both internal allocations (inside
Intel® oneAPI Math Kernel Library
computation routines) and external allocations (in a call to
mkl_malloc
,
mkl_calloc
, or
mkl_realloc
). By default no limit is set for memory allocation.
Call
mkl_set_memory_limit
at most once, prior to calling any other
Intel® oneAPI Math Kernel Library
function in your application except
mkl_set_interface_layer
and
mkl_set_threading_layer
.
  • Allocation in MCDRAM requires
    libmemkind
    and
    libjemalloc
    dynamic libraries which are a part of Intel® Manycore Platform Software Package (Intel® MPSP) for Linux*.
  • The
    mkl_set_memory_limit
    function takes precedence over the
    MKL_FAST_MEMORY_LIMIT
    environment variable.
Return Values
Type
Description
int
Status of the function completion:
  • 1 - the limit is set
  • 0 - the limit is not set

Product and Performance Information

1

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