Developer Reference

Contents

vslConvExec
/
vslCorrExec

Computes convolution or correlation for multidimensional case.

Syntax

status
=
vslsConvExec
(
task
,
x
,
xstride
,
y
,
ystride
,
z
,
zstride
);
status
=
vsldConvExec
(
task
,
x
,
xstride
,
y
,
ystride
,
z
,
zstride
);
status
=
vslcConvExec
(
task
,
x
,
xstride
,
y
,
ystride
,
z
,
zstride
);
status
=
vslzConvExec
(
task
,
x
,
xstride
,
y
,
ystride
,
z
,
zstride
);
status
=
vslsCorrExec
(
task
,
x
,
xstride
,
y
,
ystride
,
z
,
zstride
);
status
=
vsldCorrExec
(
task
,
x
,
xstride
,
y
,
ystride
,
z
,
zstride
);
status
=
vslcCorrExec
(
task
,
x
,
xstride
,
y
,
ystride
,
z
,
zstride
);
status
=
vslzCorrExec
(
task
,
x
,
xstride
,
y
,
ystride
,
z
,
zstride
);
Include Files
  • mkl.h
Input Parameters
Name
Type
Description
task
VSLConvTaskPtr
for
vslsConvExec
,
vsldConvExec
,
vslcConvExec
,
vslzConvExec
VSLCorrTaskPtr
for
vslsCorrExec
,
vsldCorrExec
,
vslcCorrExec
,
vslzCorrExec
Pointer to the task descriptor
x
,
y
const float[]
for
vslsConvExec
and
vslsCorrExec
,
const double[]
for
vsldConvExec
and
vsldCorrExec
,
const MKL_Complex8[]
for
vslcConvExec
and
vslcCorrExec
,
const MKL_Complex16[]
for
vslzConvExec
and
vslzCorrExec
Pointers to arrays containing input data
. See Data Allocation for more information.
xstride
,
ystride
,
zstride
const int[]
Strides for input and output data.
For more information, see stride parameters.
Output Parameters
Name
Type
Description
z
const float[]
for
vslsConvExec
and
vslsCorrExec
,
const double[]
for
vsldConvExec
and
vsldCorrExec
,
const MKL_Complex8[]
for
vslcConvExec
and
vslcCorrExec
,
const MKL_Complex16[]
for
vslzConvExec
and
vslzCorrExec
Pointer to the array that stores output data.
See Data Allocation for more information.
status
int
Set to
VSL_STATUS_OK
if the task is executed successfully or set to non-zero error code otherwise.
Description
Each of the
vslConvExec
/
vslCorrExec
routines computes convolution or correlation of the data provided by the arrays
x
and
y
and then stores the results in the array
z
. Parameters of the operation are read from the task descriptor created previously by a corresponding
vslConvNewTask
/
vslCorrNewTask
constructor and pointed to by
task
. If
task
is
NULL
, no operation is done.
The stride parameters
xstride
,
ystride
, and
zstride
specify the physical location of the input and output data in the arrays
x
,
y
, and
z
, respectively. In a one-dimensional case, stride is an interval between locations of consecutive elements of the array. For example, if the value of the parameter
zstride
is
s
, then only every
s
th
element of the array
z
will be used to store the output data. The stride value must be positive or negative but not zero.

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