Visible to Intel only — GUID: GUID-041E12ED-F5F0-4714-A1A5-D782434FCF2D
Visible to Intel only — GUID: GUID-041E12ED-F5F0-4714-A1A5-D782434FCF2D
Setting the Default Mode of Vector Math with an Environment Variable
Intel® oneAPI Math Kernel Library (oneMKL) enables overriding the default setting of the Vector Mathematics (VM) global mode using theMKL_VML_MODE environment variable.
Because the mode is set or can be changed in different ways, their precedence determines the actual mode used. The settings and function calls that set or change the VM mode are listed below, with the precedence growing from lowest to highest:
- The default setting
- The MKL_VML_MODE environment variable
- A call vmlSetMode function
- A call to any VM function other than a service function
For more details, see the Vector Mathematical Functions section in the Intel® oneAPI Math Kernel Library Developer Reference and the description of the vmlSetMode function in particular.
To set the MKL_VML_MODE environment variable, use the following command in your command shell:
For the bash shell:
export MKL_VML_MODE=<mode-string>
For a C shell (csh or tcsh):
setenv MKL_VML_MODE <mode-string>
In these commands, <mode-string> controls error handling behavior and computation accuracy, consists of one or several comma-separated values of the mode parameter listed in the table below, and meets these requirements:
- Not more than one accuracy control value is permitted
- Any combination of error control values except VML_ERRMODE_DEFAULT is permitted
- No denormalized numbers control values are permitted
Value of mode | Description |
---|---|
Accuracy Control | |
VML_HA | high accuracy versions of VM functions |
VML_LA | low accuracy versions of VM functions |
VML_EP | enhanced performance accuracy versions of VM functions |
Denormalized Numbers Handling Control | |
VML_FTZDAZ_ON | Faster processing of denormalized inputs is enabled. |
VML_FTZDAZ_OFF | Faster processing of denormalized inputs is disabled. |
VML_FTZDAZ_CURRENT | Keep the current CPU settings for denormalized inputs. |
Error Mode Control | |
VML_ERRMODE_IGNORE | On computation error, VM Error status is updated, but otherwise no action is set. Cannot be combined with other VML_ERRMODE settings. |
VML_ERRMODE_NOERR | On computation error, VM Error status is not updated and no action is set. Cannot be combined with other VML_ERRMODE settings. |
VML_ERRMODE_STDERR | On error, the error text information is written to stderr. |
VML_ERRMODE_EXCEPT | On error, an exception is raised. |
VML_ERRMODE_CALLBACK | On error, an additional error handler function is called. |
VML_ERRMODE_DEFAULT | On error, an exception is raised and an additional error handler function is called. |
These commands provide an example of valid settings for the MKL_VML_MODE environment variable in your command shell:
For the bash shell:
export MKL_VML_MODE=VML_LA,VML_ERRMODE_ERRNO,VML_ERRMODE_STDERR
For a C shell (csh or tcsh):
setenv MKL_VML_MODE VML_LA,VML_ERRMODE_ERRNO,VML_ERRMODE_STDERR
VM ignores the MKL_VML_MODE environment variable in the case of incorrect or misspelled settings of mode.