Visible to Intel only — GUID: GUID-45613190-DEC0-40C9-A8A4-7D778647AC7E
Visible to Intel only — GUID: GUID-45613190-DEC0-40C9-A8A4-7D778647AC7E
mkl_?omatcopy_batch_strided
Computes a group of out of place scaled matrix copy or transposition using general matrices.
Syntax
call mkl_somatcopy_batch_strided(layout, trans, row, col, alpha, a, lda, stridea, b, ldb, strideb, batch_size)
call mkl_domatcopy_batch_strided(layout, trans, row, col, alpha, a, lda, stridea, b, ldb, strideb, batch_size)
call mkl_comatcopy_batch_strided(layout, trans, row, col, alpha, a, lda, stridea, b, ldb, strideb, batch_size)
call mkl_zomatcopy_batch_strided(layout, trans, row, col, alpha, a, lda, stridea, b, ldb, strideb, batch_size)
Description
The mkl_?omatcopy_batch_strided routine performs a series of out-of-place scaled matrix copy or transposition. They are similar to the mkl_?omatcopy routine counterparts, but the mkl_?omatcopy_batch_strided routine performs matrix operations with group of matrices.
All matrices a and b have the same parameters (size, transposition operation…) and are stored at constant stride from each other respectively given by stridea and strideb. The operation is defined as
for i = 0 … batch_size – 1 A and B are matrices at offset i * stridea in a and I * strideb in b B = alpha * op(A) end for
Input Parameters
- layout
-
CHARACTER*1. Specifies whether two-dimensional array storage is row-major or column-major .
- trans
-
CHARACTER*1. Specifies op(A), the transposition operation applied to the AB matrices.
If trans = 'N' or 'n', op(A)=A.
If trans = 'T' or 't', op(A)=A'
If trans = 'C' or 'c', op(A)=conig(A')
If trans = 'R' or 'r', op(A)=conig(A)
- row
-
INTEGER. Specifies the number of rows of the matrices A and B. The value of row must be at least zero.
- col
-
INTEGER. Specifies the number of columns of the matrices A and B. The value of col must be at least zero.
- alpha
-
REAL for mkl_somatcopy_batch_strided.
DOUBLE PRECISION for mkl_domatcopy_batch_strided.
COMPLEX for mkl_comatcopy_batch_strided.
DOUBLE COMPLEX for mkl_zomatcopy_batch_strided.
Specifies the scalar alpha.
- a
-
REAL for mkl_somatcopy_batch_strided.
DOUBLE PRECISION for mkl_domatcopy_batch_strided.
COMPLEX for mkl_comatcopy_batch_strided.
DOUBLE COMPLEX for mkl_zomatcopy_batch_strided.
Array holding all the input matrices A. Must be of size at least lda * k + stridea * (batch_size - 1) * stridea where k is col if column major is used and row otherwise.
- lda
-
INTEGER.
The leading dimension of the matrix input A. It must be positive and at least row if column major layout is used or at least col if row major layout is used.
- stridea
-
INTEGER. Stride between two consecutive A matrices, must be at least 0.
- b
-
REAL for mkl_somatcopy_batch_strided.
DOUBLE PRECISION for mkl_domatcopy_batch_strided.
COMPLEX for mkl_comatcopy_batch_strided.
DOUBLE COMPLEX for mkl_zomatcopy_batch_strided.
Array holding all the output matrices B. Must be of size at least batch_size * strideb. The b array must be independent from the a array.
- ldb
-
INTEGER.
The leading dimension of the output matrix B. It must be positive and at least:
row if column major layout is used and op(A) = A or conjg(A)
row if row major layout is used and op(A) = A' or conjg(A')
col otherwise
- strideb
-
INTEGER.
Stride between two consecutive B matrices. It must be positive and at least:
ldb* col if column major layout is used and op(A) = A or conjg(A)
ldb* col if row major layout is used and op(A) = A' or conjg(A')
ldb*row otherwise
- batch_size
Output Parameters
- b
-
Array holding the batch_size updated matrices B.