Visible to Intel only — GUID: GUID-AB5E3057-0824-46C7-A61A-C9E3C9DEE5AA
Visible to Intel only — GUID: GUID-AB5E3057-0824-46C7-A61A-C9E3C9DEE5AA
?gemm_batch_strided
Computes groups of matrix-matrix product with general matrices.
call sgemm_batch_strided(transa, transb, m, n, k, alpha, a, lda, stridea, b, ldb, strideb, beta, c, ldc, stridec, batch_size)
call dgemm_batch_strided(transa, transb, m, n, k, alpha, a, lda, stridea, b, ldb, strideb, beta, c, ldc, stridec, batch_size)
call cgemm_batch_strided(transa, transb, m, n, k, alpha, a, lda, stridea, b, ldb, strideb, beta, c, ldc, stridec, batch_size)
call zgemm_batch_strided(transa, transb, m, n, k, alpha, a, lda, stridea, b, ldb, strideb, beta, c, ldc, stridec, batch_size)
- mkl.fi
The ?gemm_batch_strided routines perform a series of matrix-matrix operations with general matrices. They are similar to the ?gemm routine counterparts, but the ?gemm_batch_strided routines perform matrix-matrix operations with groups of matrices. The groups contain matrices with the same parameters.
All matrix a (respectively, b or c) have the same parameters (size, leading dimension, transpose operation, alpha, beta scaling) and are stored at constant stridea (respectively, strideb or stridec) from each other. The operation is defined as
For i = 0 … batch_size – 1 Ai, Bi and Ci are matrices at offset i * stridea, i * strideb and i * stridec in a, b and c Ci = alpha * Ai * Bi + beta * Ci end for
- transa
-
CHARACTER*1.
Specifies op(A) the transposition operation applied to the matrices A.
if transa = 'N' or 'n' , then op(A) = A;
if transa = 'T' or 't' , then op(A) = AT;
if transa = 'C' or 'c' , then op(A) = AH.
- transb
-
CHARACTER*1.
Specifies op(B) the transposition operation applied to the matrices B.
if transb = 'N' or 'n' , then op(B) = B;
if transb = 'T' or 't' , then op(B) = BT;
if transb = 'C' or 'c' , then op(B) = BH.
- m
-
INTEGER. Number of rows of the op(A) and C matrices. Must be at least 0.
- n
-
INTEGER. Number of columns of the op(B) and C matrices. Must be at least 0.
- k
-
INTEGER. Number of columns of the op(A) matrix and number of rows of the op(B) matrix. Must be at least 0.
- alpha
-
REAL for sgemm_batch_strided
DOUBLE PRECISION for dgemm_batch_strided
COMPLEX for cgemm_batch_strided
DOUBLE COMPLEX for zgemm_batch_strided
Specifies the scalar alpha.
- a
-
REAL for sgemm_batch_strided
DOUBLE PRECISION for dgemm_batch_strided
COMPLEX for cgemm_batch_strided
DOUBLE COMPLEX for zgemm_batch_strided
Array of size at least stridea*batch_size holding the a matrices.
transa='N' or 'n'
transa='T' or 't' or 'C' or 'c'
- lda
-
INTEGER. Specifies the leading dimension of the a matrices.
transa='N' or 'n'
transa='T' or 't' or 'C' or 'c'
- stridea
-
INTEGER. Stride between two consecutive a matrices.
transa='N' or 'n'
transa='T' or 't' or 'C' or 'c'
- b
-
REAL for sgemm_batch_strided
DOUBLE PRECISION for dgemm_batch_strided
COMPLEX for cgemm_batch_strided
DOUBLE COMPLEX for zgemm_batch_strided
Array of size at least strideb*batch_size holding the b matrices.
transb='N' or 'n'
transb='T' or 't' or 'C' or 'c'
- ldb
-
INTEGER. Specifies the leading dimension of the b matrices.
transab='N' or 'n'
transb='T' or 't' or 'C' or 'c'
- strideb
-
INTEGER. Stride between two consecutive b matrices.
transa='N' or 'n'
transa='T' or 't' or 'C' or 'c'
- beta
-
REAL for sgemm_batch_strided
DOUBLE PRECISION for dgemm_batch_strided
COMPLEX for cgemm_batch_strided
DOUBLE COMPLEX for zgemm_batch_strided
Specifies the scalar beta.
- c
-
REAL for sgemm_batch_strided
DOUBLE PRECISION for dgemm_batch_strided
COMPLEX for cgemm_batch_strided
DOUBLE COMPLEX for zgemm_batch_strided
Array of size at least stridec*batch_size holding the c matrices.
- ldc
-
INTEGER.
Specifies the leading dimension of the c matrices.
Must be at least max(1,m) .
- stridec
-
INTEGER.
Specifies the stride between two consecutive c matrices.
Must be at least ldc*n .
- batch_size
-
INTEGER.
Number of gemm computations to perform and a, b and c matrices. Must be at least 0.
- c
-
Array holding the batch_size updated c matrices.