blas_gemm Interface

private interface blas_gemm

explicit interface for BLAS GEMM routines

Usage: call blas_gemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)

This is not a public interface, it is used internally by pic_gemm

Called by

interface~~blas_gemm~~CalledByGraph interface~blas_gemm blas_gemm proc~pic_dgemm pic_dgemm proc~pic_dgemm->interface~blas_gemm proc~pic_sgemm pic_sgemm proc~pic_sgemm->interface~blas_gemm proc~pic_zgemm pic_zgemm proc~pic_zgemm->interface~blas_gemm interface~pic_gemm pic_gemm interface~pic_gemm->proc~pic_dgemm interface~pic_gemm->proc~pic_sgemm interface~pic_gemm->proc~pic_zgemm

Subroutines

private pure subroutine cgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: transa
character(len=1), intent(in) :: transb
integer(kind=default_int), intent(in) :: m
integer(kind=default_int), intent(in) :: n
integer(kind=default_int), intent(in) :: k
complex(kind=sp), intent(in) :: alpha
complex(kind=sp), intent(in) :: a(lda,*)
integer(kind=default_int), intent(in) :: lda
complex(kind=sp), intent(in) :: b(ldb,*)
integer(kind=default_int), intent(in) :: ldb
complex(kind=sp), intent(in) :: beta
complex(kind=sp), intent(inout) :: c(ldc,*)
integer(kind=default_int), intent(in) :: ldc

private pure subroutine dgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: transa
character(len=1), intent(in) :: transb
integer(kind=default_int), intent(in) :: m
integer(kind=default_int), intent(in) :: n
integer(kind=default_int), intent(in) :: k
real(kind=dp), intent(in) :: alpha
real(kind=dp), intent(in) :: a(lda,*)
integer(kind=default_int), intent(in) :: lda
real(kind=dp), intent(in) :: b(ldb,*)
integer(kind=default_int), intent(in) :: ldb
real(kind=dp), intent(in) :: beta
real(kind=dp), intent(inout) :: c(ldc,*)
integer(kind=default_int), intent(in) :: ldc

private pure subroutine sgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: transa
character(len=1), intent(in) :: transb
integer(kind=default_int), intent(in) :: m
integer(kind=default_int), intent(in) :: n
integer(kind=default_int), intent(in) :: k
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: a(lda,*)
integer(kind=default_int), intent(in) :: lda
real(kind=sp), intent(in) :: b(ldb,*)
integer(kind=default_int), intent(in) :: ldb
real(kind=sp), intent(in) :: beta
real(kind=sp), intent(inout) :: c(ldc,*)
integer(kind=default_int), intent(in) :: ldc

private pure subroutine zgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: transa
character(len=1), intent(in) :: transb
integer(kind=default_int), intent(in) :: m
integer(kind=default_int), intent(in) :: n
integer(kind=default_int), intent(in) :: k
complex(kind=dp), intent(in) :: alpha
complex(kind=dp), intent(in) :: a(lda,*)
integer(kind=default_int), intent(in) :: lda
complex(kind=dp), intent(in) :: b(ldb,*)
integer(kind=default_int), intent(in) :: ldb
complex(kind=dp), intent(in) :: beta
complex(kind=dp), intent(inout) :: c(ldc,*)
integer(kind=default_int), intent(in) :: ldc