Visible to Intel only — GUID: GUID-A7BE7BE1-2BB1-4FC8-88D6-B35D8EDA309E
Visible to Intel only — GUID: GUID-A7BE7BE1-2BB1-4FC8-88D6-B35D8EDA309E
vslConvNewTaskX1D/vslCorrNewTaskX1D
Creates a new convolution or correlation task descriptor for one-dimensional case and assigns source data to the first operand vector.
Syntax
status = vslsconvnewtaskx1d(task, mode, xshape, yshape, zshape, x, xstride)
status = vsldconvnewtaskx1d(task, mode, xshape, yshape, zshape, x, xstride)
status = vslcconvnewtaskx1d(task, mode, xshape, yshape, zshape, x, xstride)
status = vslzconvnewtaskx1d(task, mode, xshape, yshape, zshape, x, xstride)
status = vslscorrnewtaskx1d(task, mode, xshape, yshape, zshape, x, xstride)
status = vsldcorrnewtaskx1d(task, mode, xshape, yshape, zshape, x, xstride)
status = vslccorrnewtaskx1d(task, mode, xshape, yshape, zshape, x, xstride)
status = vslzcorrnewtaskx1d(task, mode, xshape, yshape, zshape, x, xstride)
Include Files
- mkl.fi, mkl_vsl.f90
Input Parameters
Name |
Type |
Description |
---|---|---|
mode |
INTEGER |
Specifies whether convolution/correlation calculation must be performed by using a direct algorithm or through Fourier transform of the input data. See Table "Values of mode parameter" for a list of possible values. |
xshape |
INTEGER |
Defines the length of the input data sequence for the source array x. See Data Allocation for more information. |
yshape |
INTEGER |
Defines the length of the input data sequence for the source array y. See Data Allocation for more information. |
zshape |
INTEGER |
Defines the length of the output data sequence to be stored in array z. See Data Allocation for more information. |
x |
REAL*8 for real data in double precision flavors, COMPLEX*8 for complex data in single precision flavors, COMPLEX*16 for complex data in double precision flavors REAL(KIND=4), DIMENSION (*) for real data in single precision flavors, REAL(KIND=8), DIMENSION (*) for real data in double precision flavors, COMPLEX(KIND=4), DIMENSION (*) for complex data in single precision flavors, COMPLEX(KIND=8), DIMENSION (*) for complex data in double precision flavors |
Pointer to the array containing input data for the first operand vector. See Data Allocation for more information. |
xstride |
INTEGER |
Stride for input data sequence in the arrayx. |
Output Parameters
Name |
Type |
Description |
---|---|---|
task |
INTEGER*4 task(2) for vslscorrnewtaskx1d, vsldcorrnewtaskx1d, vslccorrnewtaskx1d, vslzcorrnewtaskx1d TYPE(VSL_CONV_TASK) for vslsconvnewtaskx1d, vsldconvnewtaskx1d, vslcconvnewtaskx1d, vslzconvnewtaskx1d TYPE(VSL_CORR_TASK) for vslscorrnewtaskx1d, vsldcorrnewtaskx1d, vslccorrnewtaskx1d, vslzcorrnewtaskx1d VSLCorrTaskPtr* for vslsCorrNewTaskX1D, vsldCorrNewTaskX1D, vslcCorrNewTaskX1D, vslzCorrNewTaskX1D |
Pointer to the task descriptor if created successfully or NULL pointer otherwise. |
status |
INTEGER |
Set to VSL_STATUS_OK if the task is created successfully or set to non-zero error code otherwise. |
Description
Each vslConvNewTaskX1D/vslCorrNewTaskX1D constructor creates a new convolution or correlation task descriptor with the user specified values for explicit parameters. The optional parameters are set to their default values (see Table "Convolution and Correlation Task Parameters").
These routines represent a special one-dimensional version of the so called X-form of the constructor. This assumes that the value of the parameter dims is 1 and that in addition to creating the task descriptor, constructor routines assign particular data to the first operand vector in array x used in convolution or correlation operation. The task descriptor created by the vslConvNewTaskX1D/vslCorrNewTaskX1D constructor keeps the pointer to the array x all the time, that is, until the task object is deleted by one of the destructor routines (see vslConvDeleteTask/vslCorrDeleteTask).
Using this form of constructors is recommended when you need to compute multiple 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.
The parameters xshape, yshape, and zshape are equal to the number of elements read from the arrays x and y or stored to the array z. You explicitly assign the shape parameters when calling the constructor.
The stride parameters xstride specifies the physical location of the input data in the array x and is an interval between locations of consecutive elements of the array. For example, if the value of the parameter xstride is s, then only every sth element of the array x will be used to form the input sequence. The stride value must be positive or negative but not zero.