general interface of the BLAS GEMM routines, will call SGEMM, DGEMM, CGEMM, ZGEMM
Usage: call pic_gemm(A, B, C, [optional] transa, [optional] transb, [optional] alpha, [optional] beta)
where A, B, C are matrices, transa and transb are optional transpose options, alpha and beta are optional scaling factors
By default, if not specified transA and transB are “N” (no transpose), and alpha and beta are 1.0 and 0.0 respectively.
The matrices A, B, C must be allocatable arrays, we deduce the shapes from them.
interface for single precision matrix multiplication
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=sp), | intent(in) | :: | A(:,:) | |||
real(kind=sp), | intent(in) | :: | B(:,:) | |||
real(kind=sp), | intent(inout) | :: | C(:,:) | |||
character(len=1), | intent(in), | optional | :: | transa | ||
character(len=1), | intent(in), | optional | :: | transb | ||
real(kind=sp), | intent(in), | optional | :: | alpha | ||
real(kind=sp), | intent(in), | optional | :: | beta |
interface for single precision matrix multiplication
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | A(:,:) | |||
real(kind=dp), | intent(in) | :: | B(:,:) | |||
real(kind=dp), | intent(inout) | :: | C(:,:) | |||
character(len=1), | intent(in), | optional | :: | transa | ||
character(len=1), | intent(in), | optional | :: | transb | ||
real(kind=dp), | intent(in), | optional | :: | alpha | ||
real(kind=dp), | intent(in), | optional | :: | beta |
interface for single precision matrix multiplication
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex(kind=dp), | intent(in) | :: | A(:,:) | |||
complex(kind=dp), | intent(in) | :: | B(:,:) | |||
complex(kind=dp), | intent(inout) | :: | C(:,:) | |||
character(len=1), | intent(in), | optional | :: | transa | ||
character(len=1), | intent(in), | optional | :: | transb | ||
complex(kind=dp), | intent(in), | optional | :: | alpha | ||
complex(kind=dp), | intent(in), | optional | :: | beta |