Intel® oneAPI Math Kernel Library Developer Reference - C

Task Execution Routines

Task execution routines compute convolution or correlation results based on parameters held by the task descriptor and on the user data supplied for input vectors.

After you create and adjust a task, you can execute it multiple times by applying to different input/output data of the same type, precision, and shape.

Intel® oneAPI Math Kernel Library provides the following forms of convolution/correlation execution routines:

When the task is executed for the first time, the execution routine includes a task commitment operation, which involves two basic steps: parameters consistency check and preparation of auxiliary data (for example, this might be the calculation of Fourier transform for input data).

Each execution routine has an associated one-dimensional version that provides algorithmic and computational benefits.

Note

You can use the NULL task pointer in calls to execution routines. In this case, the routine is terminated and no system crash occurs.

If the task is executed successfully, the execution routine returns the zero status code. If an error is detected, the execution routine returns an error code which signals that a specific error has occurred. In particular, an error status code is returned in the following cases:

Note

Intel® MKL does not control floating-point errors, like overflow or gradual underflow, or operations with NaNs, etc.

If an error occurs, the task descriptor stores the error code.

The table below lists all task execution routines.

Task Execution Routines

Routine

Description

vslConvExec/vslCorrExec

Computes convolution or correlation for a multidimensional case.

vslConvExec1D/vslCorrExec1D

Computes convolution or correlation for a one-dimensional case.

vslConvExecX/vslCorrExecX

Computes convolution or correlation as X-form for a multidimensional case.

vslConvExecX1D/vslCorrExecX1D

Computes convolution or correlation as X-form for a one-dimensional case.