Development Reference Guides

Contents

omp target variant dispatch

Conditionally calls a procedure offload variant if the specified device is available; otherwise, executes the procedure on the host.

Syntax

#pragma omp target variant dispatch {device(integer-expression) | nowait | subdevice([integer-constant ,] integer-expression [ : integer-expression [ : integer-expression] ] ) | use_device_pointer (ptr-list)}
Arguments
device
Tells the compiler to call the variant only if device
n
is available.
subdevice
Tells the compiler to call the variant only if the specified tiles or compute slices are available.
nowait
Tells the compiler that calls to the procedure can occur asynchronously. If
nowait
is not specified, calls occur synchronously.
use_device_ptr
Tells the compiler to use the corresponding device pointer instead of the host pointer when the variant procedure is called.
If both
device
and
subdevice
are specified, the variant is called only if the specified tiles or compute slices are available on device
n
. Otherwise, the base version of the procedure is called on the host.
Description
The
omp target variant dispatch
pragma causes the compiler to emit conditional dispatch code around the associated procedure call that follows the pragma. If the specified device is available, the variant version is called.
The name of the procedure associated with the
omp target variant dispatch
pragma must have appeared in an
omp declare variant
pragma in the specification part of the calling scope. The interface of the variant procedure must be accessible in the base procedure where
omp target variant dispatch
appears.
The
omp target variant dispatch
pragma is supported in host code only.
Use pragma
omp target variant dispatch
when calling Intel® oneAPI Math Kernel Library (oneMKL).
In other cases, we recommend you use the OpenMP* pragma
omp dispatch
. For more information about pragma
omp dispatch
, see the OpenMP* documentation.

Product and Performance Information

1

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