Intel® oneAPI Math Kernel Library Developer Reference - Fortran

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

stat = mkl_set_memory_limit( mem_type, limit )

Fortran Include Files/Modules

Input Parameters

Name

Type

Description

mem_type

INTEGER*4

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

INTEGER*4 for 32-bit systems
INTEGER*8 for 64-bit systems.

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 tomkl_malloc, mkl_calloc, or mkl_realloc). By default no limit is set for memory allocation.

Call mkl_set_memory_limitat 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.

Note

  • 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

INTEGER*4

Status of the function completion:

  • 1 - the limit is set

  • 0 - the limit is not set

See Also