Developer Reference


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® MKL
provides the following forms of convolution/correlation execution routines:
  • General form
    executors that use the task descriptor created by the general form constructor and expect to get two source data arrays
    on input
  • X-form
    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.
Task Execution Routines
Computes convolution or correlation for a multidimensional case.
Computes convolution or correlation for a one-dimensional case.
Computes convolution or correlation as X-form for a multidimensional case.
Computes convolution or correlation as X-form for a one-dimensional case.

Product and Performance Information


Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804