Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
mkl_?imatcopy_batch_strided
Computes a group of in-place scaled matrix copy or transposition using general matrices.
Syntax
call mkl_simatcopy_batch_strided(layout, trans, row, col, alpha, ab, lda, ldb, stride, batch_size)
call mkl_dimatcopy_batch_strided(layout, trans, row, col, alpha, ab, lda, ldb, stride, batch_size)
call mkl_cimatcopy_batch_strided(layout, trans, row, col, alpha, ab, lda, ldb, stride, batch_size)
call mkl_zimatcopy_batch_strided(layout, trans, row, col, alpha, ab, lda, ldb, stride, batch_size)
Include Files
mkl.fi
Description
The mkl_?imatcopy_batch_strided routine performs a series of scaled matrix copy or transposition. They are similar to the mkl_?imatcopy routine counterparts, but the mkl_?imatcopy_batch_strided routine performs matrix operations with a group of matrices.
All matrices ab have the same parameters (size, transposition operation…) and are stored at constant stride from each other. The operation is defined as
for i = 0 … batch_size – 1
AB is a matrix at offset i * stride in ab
AB = alpha * op(AB)
end for
Input Parameters
layout
CHARACTER*1 .
Specifies whether two-dimensional array storage is row-major or column-major
trans
CHARACTER*1 . Specifies op(AB) , the transposition operation applied to the AB matrices.
If trans = ‘N’ or ‘n’ , op(AB)=AB . If trans = ‘T’ or ‘t’ , op(AB)=AB' If trans = ‘C’ or ‘c’ , op(AB)=conjg(AB') If trans = ‘R’ or ‘r’ , op(AB)=conjg(AB)
row
INTEGER . Specifies the number of rows of the matrices AB . The value of row must be at least zero.
col
INTEGER . Specifies the number of columns of the matrices AB . The value of col must be at least zero.
- alpha
-
REAL for mkl_simatcopy_batch_strided . DOUBLE PRECISION for mkl_dimatcopy_batch_strided . COMPLEX for mkl_cimatcopy_batch_strided . DOUBLE COMPLEX for mkl_zimatcopy_batch_strided . Specifies the scalar alpha .
- ab
-
REAL for mkl_simatcopy_batch_strided . DOUBLE PRECISION for mkl_dimatcopy_batch_strided . COMPLEX for mkl_cimatcopy_batch_strided . DOUBLE COMPLEX for mkl_zimatcopy_batch_strided . Array holding all the input matrix AB . Must be of size at least batch_size * stride .
lda
INTEGER . The leading dimension of the matrix input AB . It must be positive and at least row if column major layout is used or at least col if row major layout is used.
ldb
INTEGER . The leading dimension of the matrix input AB . It must be positive and at least
row if column major layout is used and op(AB) = AB or conjg(AB)row if row major layout is used and op(AB) = AB' or conjg(AB')col otherwise
stride
INTEGER . Stride between two consecutive AB matrices, must be at least max(ldb,lda)*max(ka, kb) where
batch_size
INTEGER . Number of imatcopy computations to perform and AB matrices. Must be at least 0.
Output Parameters
- ab
-
Array holding the batch_size updated matrices AB .