Developer Reference

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

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.