Intel® oneAPI Math Kernel Library Developer Reference - C
Computes a group of vector copies.
void cblas_scopy_batch_strided (const MKL_INT n, const float *x, const MKL_INT incx, const MKL_INT stridex, float *y, const MKL_INT incy, const MKL_INT stridey, const MKL_INT batch_size);
void cblas_dcopy_batch_strided (const MKL_INT n, const double *x, const MKL_INT incx, const MKL_INT stridex, double *y, const MKL_INT incy, const MKL_INT stridey, const MKL_INT batch_size);
void cblas_ccopy_batch_strided (const MKL_INT n, const void *x, const MKL_INT incx, const MKL_INT stridex, void *y, const MKL_INT incy, const MKL_INT stridey, const MKL_INT batch_size);
void cblas_zcopy_batch_strided (const MKL_INT n, const void *x, const MKL_INT incx, const MKL_INT stridex, void *y, const MKL_INT incy, const MKL_INT stridey, const MKL_INT batch_size);
The cblas_?copy_batch_strided routines perform a series of vector copies. They are similar to their cblas_?copy routine counterparts, but the cblas_?copy_batch_strided routines perform vector operations with a group of vectors.
All vectors x and y have the same parameters (size, increments) and are stored at constant distance stridex (respectively, stridey) from each other. The operation is defined as follows:
for i = 0 … batch_size – 1 X and Y are vectors at offset i * stridex and i * stridey in x and y Y = X end for