Visible to Intel only — GUID: GUID-5EEF77C6-7BB3-4C82-ABB3-8E77ED04BA07
Visible to Intel only — GUID: GUID-5EEF77C6-7BB3-4C82-ABB3-8E77ED04BA07
vslConvExec/vslCorrExec
Computes convolution or correlation for multidimensional case.
Syntax
status = vslsconvexec(task, x, xstride, y, ystride, z, zstride)
status = vsldconvexec(task, x, xstride, y, ystride, z, zstride)
status = vslcconvexec(task, x, xstride, y, ystride, z, zstride)
status = vslzconvexec(task, x, xstride, y, ystride, z, zstride)
status = vslscorrexec(task, x, xstride, y, ystride, z, zstride)
status = vsldcorrexec(task, x, xstride, y, ystride, z, zstride)
status = vslccorrexec(task, x, xstride, y, ystride, z, zstride)
status = vslzcorrexec(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 vslscorrexec, vsldcorrexec, vslccorrexec, vslzcorrexec TYPE(VSL_CONV_TASK) for vslsconvexec, vsldconvexec, vslcconvexec, vslzconvexec TYPE(VSL_CORR_TASK) for vslscorrexec, vsldcorrexec, vslccorrexec, vslzcorrexec VSLCorrTaskPtr for vslsCorrExec, vsldCorrExec, vslcCorrExec, vslzCorrExec |
Pointer to the task descriptor |
x, y |
REAL*8 for vsldconvexec and vsldcorrexec, COMPLEX*8 forvslcconvexec and vslccorrexec, COMPLEX*16 forvslzconvexec and vslzcorrexec REAL(KIND=4), DIMENSION(*) for vslsconvexec and vslscorrexec, REAL(KIND=8), DIMENSION(*) for vsldconvexec and vsldcorrexec, COMPLEX(KIND=4), DIMENSION (*) forvslcconvexec and vslccorrexec, COMPLEX(KIND=8), DIMENSION (*) for vslzconvexec and vslzcorrexec |
Pointers to arrays containing input data. See Data Allocation for more information. |
xstride, ystride, zstride |
INTEGER, DIMENSION (*) |
Strides for input and output data. For more information, see stride parameters. |
Output Parameters
Name |
Type |
Description |
---|---|---|
z |
REAL*8 for vsldconvexec and vsldcorrexec, COMPLEX*8 forvslcconvexec and vslccorrexec, COMPLEX*16 forvslzconvexec and vslzcorrexec REAL(KIND=4), DIMENSION(*) for vslsconvexec and vslscorrexec, REAL(KIND=8), DIMENSION(*) for vsldconvexec and vsldcorrexec, COMPLEX(KIND=4), DIMENSION (*) forvslcconvexec and vslccorrexec, COMPLEX(KIND=8), DIMENSION (*) for vslzconvexec and vslzcorrexec |
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 vslConvExec/vslCorrExec routines computes convolution or correlation of the data provided by the arrays x and y and then stores the results in the array z. Parameters of the operation are read from the task descriptor created previously by a corresponding vslConvNewTask/vslCorrNewTask constructor and pointed to by task. If task is NULL, no operation is done.
The stride parameters xstride, ystride, and zstride specify the physical location of the input and output data in the arrays x, y, and z, respectively. 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 zstride is s, then only every sth element of the array z will be used to store the output data. The stride value must be positive or negative but not zero.