Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public
Document Table of Contents

mkl_set_memory_limit

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

Syntax

stat = mkl_set_memory_limit( mem_type, limit )

Fortran Include Files/Modules

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

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).

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 (oneMKL) can allocate for the specified memory type. The limit bounds both internal allocations (inside Intel® oneAPI Math Kernel Library (oneMKL) 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 (oneMKL) 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