Contents

vslConvExecX1D
/
vslCorrExecX1D

Computes convolution or correlation for one-dimensional case with the fixed first operand vector.

Syntax

status
=
vslsConvExecX1D
(
task
,
y
,
ystride
,
z
,
zstride
);
status
=
vsldConvExecX1D
(
task
,
y
,
ystride
,
z
,
zstride
);
status
=
vslcConvExecX1D
(
task
,
y
,
ystride
,
z
,
zstride
);
status
=
vslzConvExecX1D
(
task
,
y
,
ystride
,
z
,
zstride
);
status
=
vslsCorrExecX1D
(
task
,
y
,
ystride
,
z
,
zstride
);
status
=
vslcCorrExecX1D
(
task
,
y
,
ystride
,
z
,
zstride
);
status
=
vslzCorrExecX1D
(
task
,
y
,
ystride
,
z
,
zstride
);
status
=
vsldCorrExecX1D
(
task
,
y
,
ystride
,
z
,
zstride
);
Include Files
  • mkl.h
Input Parameters
Name
Type
Description
task
VSLConvTaskPtr
for
vslsConvExecX1D
,
vsldConvExecX1D
,
vslcConvExecX1D
,
vslzConvExecX1D
VSLCorrTaskPtr
for
vslsCorrExecX1D
,
vsldCorrExecX1D
,
vslcCorrExecX1D
,
vslzCorrExecX1D
Pointer to the task descriptor.
x
,
y
const float[]
for
vslsConvExecX1D
and
vslsCorrExecX1D
,
const double[]
for
vsldConvExecX1D
and
vsldCorrExecX1D
,
const MKL_Complex8[]
for
vslcConvExecX1D
and
vslcCorrExecX1D
,
const MKL_Complex16[]
for
vslzConvExecX1D
and
vslzCorrExecX1D
Pointer to array containing input data (for the second operand vector).
See Data Allocation for more information.
ystride
,
zstride
const MKL_INT
Strides for input and output data.
For more information, see stride parameters .
Output Parameters
Name
Type
Description
z
const float[]
for
vslsConvExecX1D
and
vslsCorrExecX1D
,
const double[]
for
vsldConvExecX1D
and
vsldCorrExecX1D
,
const MKL_Complex8[]
for
vslcConvExecX1D
and
vslcCorrExecX1D
,
const MKL_Complex16[]
for
vslzConvExecX1D
and
vslzCorrExecX1D
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
vslConvExecX1D
/
vslCorrExecX1D
routines computes convolution or correlation of one-dimensional (assuming that
dims
=1) data provided by the arrays
x
and
y
and then stores the results in the array
z
. These routines represent a special version of the operation, which expects that the first operand vector was set on the task construction stage.
Parameters of the operation are read from the task descriptor created previously by a corresponding
vslConvNewTaskX1D
/
vslCorrNewTaskX1D
constructor and pointed to by
task
. If
task
is
NULL
, no operation is done.
Using this form of execution routines is recommended when you need to compute multiple one-dimensional convolutions or correlations with the same data vector in array
x
against different vectors in array
y
. This helps improve performance by eliminating unnecessary overhead in repeated computation of intermediate data required for the operation.

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