Support Functions

Intel® Math Kernel Library (Intel® MKL) support functions are subdivided into the following groups according to their purpose:

Version Information

Threading Control

Error Handling

Character Equality Testing

Timing

Memory Management

Single Dynamic Library Control

Intel® Many Integrated Core (Intel® MIC) Architecture Support

Conditional Numerical Reproducibility Control

Miscellaneous

The following table lists Intel MKL support functions.

Intel MKL Support Functions

Function Name

Operation

Version Information

mkl_get_version_string

Returns the Intel MKL version in a character string.

Threading Control

mkl_set_num_threads

Specifies the number of OpenMP* threads to use.

mkl_domain_set_num_threads

Specifies the number of OpenMP* threads for a particular function domain.

mkl_set_num_threads_local

Specifies the number of OpenMP* threads for all Intel MKL functions on the current execution thread.

mkl_set_dynamic

Enables Intel MKL to dynamically change the number of OpenMP* threads.

mkl_get_max_threads

Gets the number of OpenMP* threads targeted for parallelism.

mkl_domain_get_max_threads

Gets the number of OpenMP* threads targeted for parallelism for a particular function domain.

mkl_get_dynamic

Determines whether Intel MKL is enabled to dynamically change the number of OpenMP* threads.

Error Handling

xerbla

Error handling function called by BLAS, LAPACK, Vector Math, and Vector Statistics functions.

pxerbla

Handles error conditions for the ScaLAPACK routines.

mkl_set_exit_handler

Sets the custom handler of fatal errors.

Character Equality Testing

lsame

Tests two characters for equality regardless of the case.

lsamen

Tests two character strings for equality regardless of the case.

Timing

second/dsecnd

Returns elapsed time in seconds. Use to estimate real time between two calls to this function.

mkl_get_cpu_clocks

Returns elapsed CPU clocks.

mkl_get_cpu_frequency

Returns CPU frequency value in GHz.

mkl_get_max_cpu_frequency

Returns the maximum CPU frequency value in GHz.

mkl_get_clocks_frequency

Returns the frequency value in GHz based on constant-rate Time Stamp Counter.

Memory Management

mkl_free_buffers

Frees unused memory allocated by the Intel MKL Memory Allocator.

mkl_thread_free_buffers

Frees unused memory allocated by the Intel MKL Memory Allocator in the current thread.

mkl_mem_stat

Reports the status of the Intel MKL Memory Allocator.

mkl_peak_mem_usage

Reports the peak memory allocated by the Intel MKL Memory Allocator.

mkl_disable_fast_mm

Turns off the Intel MKL Memory Allocator for Intel MKL functions to directly use the system malloc/free functions.

mkl_malloc

Allocates an aligned memory buffer.

mkl_calloc

Allocates and initializes an aligned memory buffer.

mkl_realloc

Changes the size of memory buffer allocated by mkl_malloc/mkl_calloc.

mkl_free

Frees the aligned memory buffer allocated by mkl_malloc/mkl_calloc.

mkl_set_memory_limit

On Linux, sets the limit of memory that Intel MKL can allocate for a specified type of memory.

Single Dynamic Library (SDL) Control

mkl_set_interface_layer

Sets the interface layer for Intel MKL at run time.

mkl_set_threading_layer

Sets the threading layer for Intel MKL at run time.

mkl_set_xerbla

Replaces the error handling routine. Use with SDL on Windows* OS.

mkl_set_progress

Replaces the progress information routine. Use with SDL on Windows* OS.

mkl_set_pardiso_pivot

Replaces the routine handling Intel MKL PARDISO pivots with a user-defined routine. Use with the Single Dynamic Library (SDL).

Intel MIC Architecture Support

mkl_mic_enable

Enables Automatic Offload mode.

mkl_mic_disable

Disables Automatic Offload mode.

mkl_mic_get_device_count

Returns the number of Intel® Xeon Phi™ coprocessors on the system when called on the host CPU.

mkl_mic_set_workdivision

For computations in the Automatic Offload mode, sets the fraction of the work for the specified coprocessor or host CPU to do.

mkl_mic_get_workdivision

For computations in the Automatic Offload mode, retrieves the fraction of the work for the specified coprocessor or host CPU to do.

mkl_mic_set_max_memory

Sets the maximum amount of coprocessor memory reserved for Automatic Offload computations.

mkl_mic_free_memory

Frees the coprocessor memory reserved for Automatic Offload computations.

mkl_mic_register_memory

Enables/disables the mkl_malloc function running in Automatic Offload mode to register allocated memory.

mkl_mic_set_device_num_threads

Sets the maximum number of OpenMP* threads to use on an Intel Xeon Phi coprocessor for the Automatic Offload computations.

mkl_mic_set_resource_limit For computations in the Automatic Offload mode, sets the maximum fraction of available Intel Xeon Phi coprocessor computational resources (cores) that the calling process can use.
mkl_mic_get_resource_limit For computations in the Automatic Offload mode, retrieves the maximum fraction of available Intel Xeon Phi coprocessor computational resources (cores) that the calling process can use.

mkl_mic_set_offload_report

Turns on/off reporting of Automatic Offload profiling.

mkl_mic_set_flags

Sets flags to control the behavior of computations in the Automatic Offload mode.

mkl_mic_get_flags

Retrieves flags that control the behavior of computations in the Automatic Offload mode.

mkl_mic_get_status

For the Automatic Offload mode, returns the status of the latest call to an Intel MKL function.

mkl_mic_clear_status

For the Automatic Offload mode, clears the status of the latest call to an Intel MKL function.

mkl_mic_get_meminfo

Retrieves the amount of total and free memory for the specified coprocessor or host CPU.

mkl_mic_get_cpuinfo

Retrieves the number of cores, hardware threads, and frequency for the specified coprocessor or host CPU.

Conditional Numerical Reproducibility (CNR) Control

mkl_cbwr_set

Configures the CNR mode of Intel MKL.

mkl_cbwr_get

Returns the current CNR settings.

mkl_cbwr_get_auto_branch

Automatically detects the CNR code branch for your platform.

Miscellaneous

mkl_progress

Tracks computational progress of selective Intel MKL routines.

mkl_enable_instructions

Enables dispatching for new Intel® architectures or restricts the set of Intel® instruction sets available for dispatching.

mkl_set_env_mode

Sets up the mode that ignores environment settings specific to Intel MKL.

mkl_verbose

Enables or disables Intel MKL Verbose mode.

mkl_set_mpi

Sets the implementation of the message-passing interface to be used by Intel MKL.

mkl_finalize

Terminates Intel MKL execution environment and frees resources allocated by the library.

Optimization Notice

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804

For more complete information about compiler optimizations, see our Optimization Notice.