Developer Reference

Contents

set_mode

Sets a new mode for VM functions according to the
mode
parameter and returns the previous VM mode.

Description

The
set_mode
function sets a new mode for VM functions according to the
new_mode
parameter and returns the previous VM mode. The mode change has a global effect on all the VM functions within a queue.
oneMKL VM mode parameters provide control on the accuracy of mathematical functions, and on oneMKL VM Strided API behavior. The mode set for a given queue can be overridden locally by the local mode parameter in a VM function call.
The mode value is a bitwise OR (|) combination of the values described in the following table.
Value
Description
Accuracy Control
oneapi::mkl::vm::mode::ha
High accuracy versions of VM functions. (DEFAULT)
oneapi::mkl::vm::mode::la
Low accuracy versions of VM functions.
oneapi::mkl::vm::mode::ep
Enhanced performance accuracy versions of VM functions.
Slice Argument Checking
oneapi::mkl::vm::mode::badarg_exception
Throw a
oneapi::mkl::invalid_argument
exception on invalid arguments. (DEFAULT)
oneapi::mkl::vm::mode::badarg_quiet
Invalid arguments quietly make the call a “no-op”. The VM status is set to
vm::status::empty_computation
.
Slice Indexing Controls
oneapi::mkl::vm::mode::slice_normal
Non-equal slice sizes are considered invalid. (DEFAULT)
oneapi::mkl::vm::mode::slice_minimum
The minimum of all slice sizes defines the number of evaluations.
oneapi::mkl::vm::mode::slice_cyclic
The output slice(s) size defines the number of evaluations. Input slices wrap around from the start.
Default Local Mode
oneapi::mkl::vm::mode::not_defined
VM mode not defined. This has no effect.
The default value if no VM mode is defined or if the VM mode value is set to
mode::not_defined
is (
mode::badarg_exception
|
mode::slice_normal
|
mode::ha
).

API

Syntax
uint64_t set_mode(queue& exec_queue, uint64_t new_mode )
set_mode
supports the following devices: Host, CPU, and GPU.
Input Parameters
exec_queue
The queue where the routine should be executed.
new_mode
Specifies the VM mode to be set.
Output Parameters
return value (old_mode)
Specifies the former VM mode.

Examples

oldmode = set_mode (exec_queue , mode::la); oldmode = set_mode (exec_queue , mode::ep | mode::ftzdazon);

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.