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.
provides the following forms of convolution/correlation execution routines:
executors that use the task descriptor created by the general form constructor and expect to get two source data arrays
executors that use the task descriptor created by the X-form constructor and expect to get only one source data array
on input because the first array
has been already specified on the construction stage
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.
You can use the
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:
if the task pointer is
if the task descriptor is corrupted
if calculation has failed for some other reason.
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.