Intel® Math Kernel Library 11.0.2 User Guide

Automatic Offload Controls

The table below lists the environment variables for Automatic Offload and the functions that cause similar results. See the Intel MKL Reference Manual for detailed descriptions of the functions. To control the division of work between the host CPU and Intel Xeon Phi coprocessors, the environment variables use a fractional measure ranging from zero to one.

Environment Variable

Support Function

Description

Value

MKL_MIC_ENABLE

mkl_mic_enable

Enables Automatic Offload.

1

OFFLOAD_DEVICES

None

Specifies a list of coprocessors to be used for Automatic Offload.

In particular, this setting may help you to configure the environment for an MPI application to run Intel MKL in the Automatic Offload mode.

If this variable is not set, all the coprocessors available on the system are used for Automatic Offload.

You can set this environment variable if Automatic Offload is enabled by the environment setting or function call.

Setting this variable to an empty value is equivalent to completely disabling Automatic Offload regardless of the value of MKL_MIC_ENABLE.

After setting this environment variable, Intel MKL support functions and environment variables refer to the specified coprocessors by their indexes in the list, starting with zero.

OFFLOAD_DEVICES is a common setting for Intel MKL and Intel® Compilers. So, refer to the Intel® Compiler User and Reference Guides for more information.

A comma-separated list of integers, each ranging from 0 to the largest number of an Intel Xeon Phi coprocessor on the system, with the maximum of 31. Values out of this range are ignored. Moreover, if the list contains any non-integer data, the list is ignored completely as if the environment variable were not set at all.

For example, if your system has 4 Intel Xeon Phi coprocessors and the value of the list is 1,3, Intel MKL uses only coprocessors 1 and 3 for Automatic Offload, and Intel MKL support functions and environment variables refer to these coprocessors as coprocessors 0 and 1.

MKL_HOST_WORKDIVISION

mkl_mic_set_workdivision

Specifies the fraction of work for the host CPU to do.

A floating-point number ranging from 0.0 to 1.0. For example, the value could be 0.2 or 0.33. Intel MKL ignores negative values and treats values greater than 1 as 1.0.

MKL_MIC_WORKDIVISION

mkl_mic_set_workdivision

Specifies the fraction of work to do on all the Intel Xeon Phi coprocessors on the system.

See MKL_HOST_WORKDIVISION

MKL_MIC_<number>_WORKDIVISION

mkl_mic_set_workdivision

Specifies the fraction of work to do on a specific Intel Xeon Phi coprocessor. Here <number> is an integer ranging from 0 to the largest number of an Intel Xeon Phi coprocessor on the system, with the maximum of 31. For example, if the system has two Intel Xeon Phi coprocessors, <number> can be 0 or 1.

See MKL_HOST_WORKDIVISION

MKL_MIC_MAX_MEMORY

mkl_mic_set_max_memory

Specifies the maximum coprocessor memory reserved for Automatic Offload computations on all of the Intel Xeon Phi coprocessors on the system. Each process that performs Automatic Offload computations uses additional coprocessor memory specified by the environment variable.

Memory size in Kilobytes (K), megabytes (M), gigabytes (G), or terabytes (T). For example, MKL_MIC_MAX_MEMORY = 4096M limits the coprocessor memory reserved for Automatic Offload computations to 4096 megabytes or 4 gigabytes. Setting MKL_MIC_MAX_MEMORY = 4G specifies the same amount of memory in gigabytes.

MKL_MIC_<number>_MAX_MEMORY

mkl_mic_set_max_memory

Specifies the maximum coprocessor memory reserved for Automatic Offload computations on a specific Intel Xeon Phi coprocessor on the system.

Here <number> is an integer ranging from 0 to the largest number of an Intel Xeon Phi coprocessor on the system, with the maximum of 31. For example, if the system has two Intel Xeon Phi coprocessors, <number> can be 0 or 1.

Memory size in Kilobytes (K), megabytes (M), gigabytes (G), or terabytes (T). For example, MKL_MIC_MAX_MEMORY = 4096M limits the coprocessor memory reserved for Automatic Offload computations to 4096 megabytes or 4 gigabytes. Setting MKL_MIC_MAX_MEMORY = 4G specifies the same amount of memory in gigabytes.

MIC_OMP_NUM_THREADS

mkl_mic_set_device_num_threads

Specifies the maximum number of threads to use for Automatic Offload computations on all the Intel Xeon Phi coprocessors on the system.

An integer greater than 0.

MIC_<number>_OMP_NUM_THREADS

mkl_mic_set_device_num_threads

Specifies the maximum number of threads to use for Automatic Offload computations on a specific Intel Xeon Phi coprocessor on the system.

Here <number> is an integer ranging from 0 to the largest number of an Intel Xeon Phi coprocessor on the system, with the maximum of 31. For example, if the system has two Intel Xeon Phi coprocessors, <number> can be 0 or 1.

An integer greater than 0.

OFFLOAD_REPORT

mkl_mic_set_offload_report

Specifies the profiling report level for Automatic Offload.

OFFLOAD_REPORT is a common setting for Intel MKL and Intel® Compilers. So, refer to the Intel® Compiler User and Reference Guides for more information.

Note

The mkl_mic_set_offload_report function enables you to turn profile reporting on/off at run time but does not change the reporting level.

An integer ranging from 0 to 2:

0 - No reporting, default.

1 - The report includes:

  • The name of the function called in the Automatic Offload (AO) mode.
  • Effective work division. The value of -1 indicates that the hint, that is, the work division specified by the mkl_mic_set_workdivison function or the appropriate MKL_*_WORKDIVISION environment variable was ignored in this function call.

  • The time spent on the host CPU during the call.
  • The time spent on each available Intel Xeon Phi coprocessor during the call.

2 - In addition to the above information, the report includes:

  • The amounts of data transferred to and from each available coprocessor during the call.

LD_LIBRARY_PATH

None

Search path for host-side dynamic libraries.

Must contain the path to host-side Intel MIC Platform Software Stack libraries used by Intel MKL. The default path is /opt/intel/mic/coi/host-linux-release/lib.

MIC_LD_LIBRARY_PATH

None

Search path for coprocessor-side dynamic libraries.

Must contain:

  • The path to coprocessor-side Intel MIC Platform Software Stack libraries used by Intel MKL. The default path is /opt/intel/mic/coi/device-linux-release/lib.
  • The path to Intel MKL coprocessor-side libraries. The default path is <mkl directory>/lib/mic.

Note

See Also


Submit feedback on this help topic