Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 7/13/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

vslConvNewTask/vslCorrNewTask

Creates a new convolution or correlation task descriptor for multidimensional case.

Syntax

status = vslsconvnewtask(task, mode, dims, xshape, yshape, zshape)

status = vsldconvnewtask(task, mode, dims, xshape, yshape, zshape)

status = vslcconvnewtask(task, mode, dims, xshape, yshape, zshape)

status = vslzconvnewtask(task, mode, dims, xshape, yshape, zshape)

status = vslscorrnewtask(task, mode, dims, xshape, yshape, zshape)

status = vsldcorrnewtask(task, mode, dims, xshape, yshape, zshape)

status = vslccorrnewtask(task, mode, dims, xshape, yshape, zshape)

status = vslzcorrnewtask(task, mode, dims, xshape, yshape, zshape)

Include Files

  • mkl.fi, mkl_vsl.f90

Input Parameters

Name

Type

Description

mode

FORTRAN 77: INTEGER

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

dims

FORTRAN 77: INTEGER

Fortran 90: INTEGER

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(*)

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(*)

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(*)

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

Output Parameters

Name

Type

Description

task

FORTRAN 77: INTEGER*4 task(2) for vslsconvnewtask, vsldconvnewtask, vslcconvnewtask, vslzconvnewtask

INTEGER*4 task(2) for vslscorrnewtask, vsldcorrnewtask, vslccorrnewtask, vslzcorrnewtask

Fortran 90: TYPE(VSL_CONV_TASK) for vslsconvnewtask, vsldconvnewtask, vslcconvnewtask, vslzconvnewtask

TYPE(VSL_CORR_TASK) for vslscorrnewtask, vsldcorrnewtask, vslccorrnewtask, vslzcorrnewtask

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

status

FORTRAN 77: INTEGER

Fortran 90: INTEGER

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

Description

Each vslConvNewTask/vslCorrNewTask 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").

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, 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.

If the constructor fails to create a task descriptor, it returns a NULL task pointer.