Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

Convolution and Correlation Parameters

Basic parameters held by the task descriptor are assigned values when the task object is created, copied, or modified by task editors. Parameters of the correlation or convolution task are initially set up by task constructors when the task object is created. Parameter changes or additional settings are made by task editors. More parameters which define location of the data being convolved need to be specified when the task execution routine is invoked.
According to how the parameters are passed or assigned values, all of them can be categorized as either explicit (directly passed as routine parameters when a task object is created or executed) or optional (assigned some default or implicit values during task construction).
The following table lists all applicable parameters used in the
Intel® oneAPI Math Kernel Library
convolution and correlation API.
Convolution and Correlation Task Parameters
Name
Category
Type
Default Value Label
Description
job
explicit
integer
Implied by the constructor name
Specifies whether the task relates to convolution or correlation
type
explicit
integer
Implied by the constructor name
Specifies the type (real or complex) of the input/output data. Set to real in the current version.
precision
explicit
integer
Implied by the constructor name
Specifies precision (single or double) of the input/output data to be provided in arrays
x
,
y
,
z
.
mode
explicit
integer
None
Specifies whether the convolution/correlation computation should be done via Fourier transforms, or by a direct method, or by automatically choosing between the two. See
SetMode
for the list of named constants for this parameter.
method
optional
integer
"auto"
Hints at a particular computation method if several methods are available for the given
mode
. Setting this parameter to
"
auto
"
means that software will choose the best available method.
internal_precision
optional
integer
Set equal to the value of
precision
Specifies precision of internal calculations. Can enforce double precision calculations even when input/output data are single precision. See
SetInternalPrecision
for the list of named constants for this parameter.
dims
explicit
integer
None
Specifies the rank (number of dimensions) of the user data provided in arrays
x
,
y
,
z
. Can be in the range from 1 to 7.
x
,
y
explicit
real arrays
None
Specify input data arrays. See Data Allocation for more information.
z
explicit
real array
None
Specifies output data array. See Data Allocation for more information.
xshape
,
yshape
,
zshape
explicit
integer arrays
None
Define shapes of the arrays
x
,
y
,
z
. See Data Allocation for more information.
xstride
,
ystride
,
zstride
explicit
integer arrays
None
Define strides within arrays
x
,
y
,
z
, that is specify the physical location of the input and output data in these arrays. See Data Allocation for more information.
start
optional
integer array
Undefined
Defines the first element of the mathematical result that will be stored to output array
z
. See
SetStart
and Data Allocation for more information.
decimation
optional
integer array
Undefined
Defines how to thin out the mathematical result that will be stored to output array
z
. See
SetDecimation
and Data Allocation for more information.
Users may pass the NULL pointer instead of either or all of the parameters
xstride
,
ystride
, or
zstride
for multi-dimensional calculations. In this case, the software assumes the dense data allocation for the arrays
x
,
y
, or
z
due to the Fortran-style
"
by columns
"
representation of multi-dimensional arrays.

Product and Performance Information

1

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