mm_AB_2 Subroutine

private pure subroutine mm_AB_2(A, B, C)

Uses

  • proc~~mm_ab_2~~UsesGraph proc~mm_ab_2 formatmul_opts::mm_AB_2 module~external_interfaces_matmul external_interfaces_matmul proc~mm_ab_2->module~external_interfaces_matmul kinds kinds module~external_interfaces_matmul->kinds

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in), contiguous :: A(:,:)
real(kind=rk), intent(in), contiguous :: B(:,:)
real(kind=rk), intent(inout), contiguous :: C(:,:)

Calls

proc~~mm_ab_2~~CallsGraph proc~mm_ab_2 formatmul_opts::mm_AB_2 interface~gemm external_interfaces_matmul::gemm proc~mm_ab_2->interface~gemm

Called by

proc~~mm_ab_2~~CalledByGraph proc~mm_ab_2 formatmul_opts::mm_AB_2 proc~mat_mat_rel_ab_opt formatmul_opts::mat_mat_rel_AB_opt proc~mat_mat_rel_ab_opt->proc~mm_ab_2 proc~mat_mat_rel_ab formatmul::mat_mat_rel_AB proc~mat_mat_rel_ab->proc~mat_mat_rel_ab_opt proc~mat_mat_rel formatmul::mat_mat_rel proc~mat_mat_rel->proc~mat_mat_rel_ab interface~matmul formatmul::matmul interface~matmul->proc~mat_mat_rel

Source Code

   pure subroutine mm_AB_2(A, B, C)
      use external_interfaces_matmul

      real(rk), intent(in), contiguous :: A(:,:), B(:,:)
      real(rk), intent(inout), contiguous :: C(:,:)
      integer                 :: m, n

      m = size(A, 1)
      n = size(A, 2)
      ! Call BLAS gemm subroutine for matrix-matrix multiplication.
      call gemm('N', 'N', m, size(B, 2), n, 1.0_rk, A, m, B, n, 0.0_rk, C, m)

   end subroutine mm_AB_2