libxsmm_blas_dgemm Interface

public interface libxsmm_blas_dgemm

Overloaded BLAS GEMM routines (double-precision).


Contents


Module Procedures

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

Re-exposes BLAS based GEMM routine with an interfaces similar to libxsmm_(d)gemm. This overload belongs to libxsmm_blas_(d)gemm.

Arguments

Type IntentOptional Attributes Name
character, intent(in), optional :: transa
character, intent(in), optional :: transb
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: m
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: n
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: k
real(kind=C_DOUBLE), intent(in), optional :: alpha
real(kind=C_DOUBLE), intent(in) :: a
integer(kind=LIBXSMM_BLASINT_KIND), intent(in), optional :: lda
real(kind=C_DOUBLE), intent(in) :: b
integer(kind=LIBXSMM_BLASINT_KIND), intent(in), optional :: ldb
real(kind=C_DOUBLE), intent(in), optional :: beta
real(kind=C_DOUBLE), intent(inout) :: c
integer(kind=LIBXSMM_BLASINT_KIND), intent(in), optional :: ldc

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

Re-exposes BLAS based GEMM routine with an interfaces similar to libxsmm_(d)gemm. This overload belongs to libxsmm_blas_(d)gemm.

Arguments

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

public pure subroutine libxsmm_blas_dgemm2(transa, transb, m, n, k, a, b, c, alpha, beta)

Re-exposes BLAS based GEMM routine with an interfaces similar to libxsmm_(d)gemm. This overload belongs to libxsmm_blas_(d)gemm.

Arguments

Type IntentOptional Attributes Name
character, intent(in), optional :: transa
character, intent(in), optional :: transb
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: m
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: n
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: k
real(kind=C_DOUBLE), intent(in) :: a(m,*)
real(kind=C_DOUBLE), intent(in) :: b(k,*)
real(kind=C_DOUBLE), intent(inout) :: c(m,*)
real(kind=C_DOUBLE), intent(in), optional :: alpha
real(kind=C_DOUBLE), intent(in), optional :: beta

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

Re-exposes BLAS based GEMM routine with an interfaces similar to libxsmm_(d)gemm. This overload belongs to libxsmm_blas_(d)gemm.

Arguments

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