Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public

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

Document Table of Contents

vslConvExec1D/vslCorrExec1D

Computes convolution or correlation for one-dimensional case.

Syntax

status = vslsconvexec1d(task, x, xstride, y, ystride, z, zstride)

status = vsldconvexec1d(task, x, xstride, y, ystride, z, zstride)

status = vslcconvexec1d(task, x, xstride, y, ystride, z, zstride)

status = vslzconvexec1d(task, x, xstride, y, ystride, z, zstride)

status = vslscorrexec1d(task, x, xstride, y, ystride, z, zstride)

status = vsldcorrexec1d(task, x, xstride, y, ystride, z, zstride)

status = vslccorrexec1d(task, x, xstride, y, ystride, z, zstride)

status = vslzcorrexec1d(task, x, xstride, y, ystride, z, zstride)

Include Files

  • mkl.fi, mkl_vsl.f90

Input Parameters

Name

Type

Description

task

INTEGER*4 task(2) for vslscorrexec1d, vsldcorrexec1d, vslccorrexec1d, vslzcorrexec1d

TYPE(VSL_CONV_TASK) for vslsconvexec1d, vsldconvexec1d, vslcconvexec1d, vslzconvexec1d

TYPE(VSL_CORR_TASK) for vslscorrexec1d, vsldcorrexec1d, vslccorrexec1d, vslzcorrexec1d

VSLCorrTaskPtr for vslsCorrExec1D, vsldCorrExec1D, vslcCorrExec1D, vslzCorrExec1D

Pointer to the task descriptor.

x, y

REAL*8 for vsldconvexec1d and vsldcorrexec1d,

COMPLEX*8 forvslcconvexec1d and vslccorrexec1d,

COMPLEX*16 forvslzconvexec1d and vslzcorrexec1d

REAL(KIND=4), DIMENSION(*) for vslsconvexec1d and vslscorrexec1d,

REAL(KIND=8), DIMENSION(*) for vsldconvexec1d and vsldcorrexec1d,

COMPLEX(KIND=4), DIMENSION (*) forvslcconvexec1d and vslccorrexec1d,

COMPLEX(KIND=8), DIMENSION (*) for vslzconvexec1d and vslzcorrexec1d

Pointers to arrays containing input data. See Data Allocation for more information.

xstride, ystride, zstride

INTEGER

Strides for input and output data. For more information, see stride parameters.

Output Parameters

Name

Type

Description

z

REAL*8 for vsldconvexec1d and vsldcorrexec1d,

COMPLEX*8 forvslcconvexec1d and vslccorrexec1d,

COMPLEX*16 forvslzconvexec1d and vslzcorrexec1d

REAL(KIND=4), DIMENSION(*) for vslsconvexec1d and vslscorrexec1d,

REAL(KIND=8), DIMENSION(*) for vsldconvexec1d and vsldcorrexec1d,

COMPLEX(KIND=4), DIMENSION (*) forvslcconvexec1d and vslccorrexec1d,

COMPLEX(KIND=8), DIMENSION (*) for vslzconvexec1d and vslzcorrexec1d

Pointer to the array that stores output data. See Data Allocation for more information.

status

INTEGER

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

Description

Each of the vslConvExec1D/vslCorrExec1D routines computes convolution or correlation of the data provided by the arrays x and y and then stores the results in the array z. These routines represent a special one-dimensional version of the operation, assuming that the value of the parameter dims is 1. Using this version of execution routines can help speed up performance in case of one-dimensional data.

Parameters of the operation are read from the task descriptor created previously by a corresponding vslConvNewTask1D/vslCorrNewTask1D constructor and pointed to by task. If task is NULL, no operation is done.