NewTaskX

Creates a new convolution or correlation task descriptor for multidimensional case and assigns source data to the first operand vector.

Syntax

Fortran:

status = vslsconvnewtaskx(task, mode, dims, xshape, yshape, zshape, x, xstride)

status = vsldconvnewtaskx(task, mode, dims, xshape, yshape, zshape, x, xstride)

status = vslcconvnewtaskx(task, mode, dims, xshape, yshape, zshape, x, xstride)

status = vslzconvnewtaskx(task, mode, dims, xshape, yshape, zshape, x, xstride)

status = vslscorrnewtaskx(task, mode, dims, xshape, yshape, zshape, x, xstride)

status = vsldcorrnewtaskx(task, mode, dims, xshape, yshape, zshape, x, xstride)

status = vslccorrnewtaskx(task, mode, dims, xshape, yshape, zshape, x, xstride)

status = vslzcorrnewtaskx(task, mode, dims, xshape, yshape, zshape, x, xstride)

C:

status = vslsConvNewTaskX(task, mode, dims, xshape, yshape, zshape, x, xstride);

status = vsldConvNewTaskX(task, mode, dims, xshape, yshape, zshape, x, xstride);

status = vslcConvNewTaskX(task, mode, dims, xshape, yshape, zshape, x, xstride);

status = vslzConvNewTaskX(task, mode, dims, xshape, yshape, zshape, x, xstride);

status = vslsCorrNewTaskX(task, mode, dims, xshape, yshape, zshape, x, xstride);

status = vsldCorrNewTaskX(task, mode, dims, xshape, yshape, zshape, x, xstride);

status = vslcCorrNewTaskX(task, mode, dims, xshape, yshape, zshape, x, xstride);

status = vslzCorrNewTaskX(task, mode, dims, xshape, yshape, zshape, x, xstride);

Include Files

The FORTRAN 77 interfaces are specified in the mkl_vsl.f77 include file, the Fortran 90 interfaces are specified in the mkl_vsl.f90 include file, and the C interfaces are specified in the mkl_vsl_functions.h include file.

Input Parameters

Name

Type

Description

mode

FORTRAN 77: INTEGER

Fortran 90: INTEGER

C: const int

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.

dims

FORTRAN 77: INTEGER

Fortran 90: INTEGER

C: const int

Rank of user data. Specifies number of dimensions for the input and output arrays x, y, and z used during the execution stage. Must be in the range from 1 to 7. The value is explicitly assigned by the constructor.

xshape

FORTRAN 77: INTEGER

Fortran 90: INTEGER, DIMENSION(*)

C: const int[]

Defines the shape of the input data for the source array x. See Data Allocation for more information.

yshape

FORTRAN 77: INTEGER

Fortran 90: INTEGER, DIMENSION(*)

C: const int[]

Defines the shape of the input data for the source array y. See Data Allocation for more information.

zshape

FORTRAN 77: INTEGER

Fortran 90: INTEGER, DIMENSION(*)

C: const int[]

Defines the shape of the output data to be stored in array z.See Data Allocation for more information.

x

FORTRAN 77: REAL*4 for real data in single precision flavors,

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

Fortran 90: 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

C: const float[] for real data in single precision flavors,

const double[] for real data in double precision flavors,

const MKL_Complex8[] for complex data in single precision flavors,

const MKL_Complex16[] 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

FORTRAN 77: INTEGER

Fortran 90: INTEGER, DIMENSION(*)

C: const int[]

Strides for input data in the array x.

Output Parameters

Name

Type

Description

task

FORTRAN 77: INTEGER*4 task(2) for vslsconvnewtaskx, vsldconvnewtaskx, vslcconvnewtaskx, vslzconvnewtaskx

INTEGER*4 task(2) for vslscorrnewtaskx, vsldcorrnewtaskx, vslccorrnewtaskx, vslzcorrnewtaskx

Fortran 90: TYPE(VSL_CONV_TASK) for vslsconvnewtaskx, vsldconvnewtaskx, vslcconvnewtaskx, vslzconvnewtaskx

TYPE(VSL_CORR_TASK) for vslscorrnewtaskx, vsldcorrnewtaskx, vslccorrnewtaskx, vslzcorrnewtaskx

C: VSLConvTaskPtr* for vslsConvNewTaskX, vsldConvNewTaskX, vslcConvNewTaskX, vslzConvNewTaskX

VSLCorrTaskPtr* for vslsCorrNewTaskX, vsldCorrNewTaskX, vslcCorrNewTaskX, vslzCorrNewTaskX

Pointer to the task descriptor if created successfully or NULL pointer otherwise.

status

FORTRAN 77: INTEGER

Fortran 90: INTEGER

C: int

Set to VSL_STATUS_OK if the task is created successfully or set to non-zero error code otherwise.

Description

Each NewTaskX 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").

Unlike NewTask, these routines represent the so called X-form version of the constructor, which means that in addition to creating the task descriptor they assign particular data to the first operand vector in array x used in convolution or correlation operation. The task descriptor created by the NewTaskX 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 DeleteTask).

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 define the shapes of the input and output data provided by the arrays x, y, and z, respectively. Each shape parameter is an array of integers with its length equal to the value of dims. You explicitly assign the shape parameters when calling the constructor. If the value of the parameter dims is 1, then xshape, yshape, and zshape are equal to the number of elements read from the arrays x and y or stored to the array z. Note that values of shape parameters may differ from physical shapes of arrays x, y, and z if non-trivial strides are assigned.

The stride parameter xstride specifies the physical location of the input data in the array x. 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 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.


Submit feedback on this help topic

Copyright © 1994 - 2011, Intel Corporation. All rights reserved.