matmul Interface

public interface matmul

Calls

interface~~matmul~~CallsGraph interface~matmul formatmul::matmul proc~mat_mat_block_rel formatmul::mat_mat_block_rel interface~matmul->proc~mat_mat_block_rel proc~mat_mat_coarray_rel formatmul::mat_mat_coarray_rel interface~matmul->proc~mat_mat_coarray_rel proc~mat_mat_rel formatmul::mat_mat_rel interface~matmul->proc~mat_mat_rel proc~mat_vec_block_rel formatmul::mat_vec_block_rel interface~matmul->proc~mat_vec_block_rel proc~mat_vec_coarray_rel formatmul::mat_vec_coarray_rel interface~matmul->proc~mat_vec_coarray_rel proc~mat_vec_rel formatmul::mat_vec_rel interface~matmul->proc~mat_vec_rel proc~compute_block_ranges formatmul::compute_block_ranges proc~mat_mat_block_rel->proc~compute_block_ranges proc~mat_mat_coarray_rel->proc~compute_block_ranges proc~mat_mat_rel_ab formatmul::mat_mat_rel_AB proc~mat_mat_rel->proc~mat_mat_rel_ab proc~mat_mat_rel_abt formatmul::mat_mat_rel_ABT proc~mat_mat_rel->proc~mat_mat_rel_abt proc~mat_mat_rel_atb formatmul::mat_mat_rel_ATB proc~mat_mat_rel->proc~mat_mat_rel_atb proc~mat_mat_rel_atbt formatmul::mat_mat_rel_ATBT proc~mat_mat_rel->proc~mat_mat_rel_atbt proc~mat_vec_block_rel->proc~compute_block_ranges proc~mat_vec_coarray_rel->proc~compute_block_ranges proc~mat_vec_rel_atv formatmul::mat_vec_rel_ATv proc~mat_vec_rel->proc~mat_vec_rel_atv proc~mat_vec_rel_av formatmul::mat_vec_rel_Av proc~mat_vec_rel->proc~mat_vec_rel_av proc~mat_mat_rel_ab_opt formatmul_opts::mat_mat_rel_AB_opt proc~mat_mat_rel_ab->proc~mat_mat_rel_ab_opt proc~mat_mat_rel_abt_opt formatmul_opts::mat_mat_rel_ABT_opt proc~mat_mat_rel_abt->proc~mat_mat_rel_abt_opt proc~mat_mat_rel_atb_opt formatmul_opts::mat_mat_rel_ATB_opt proc~mat_mat_rel_atb->proc~mat_mat_rel_atb_opt proc~mat_mat_rel_atbt_opt formatmul_opts::mat_mat_rel_ATBT_opt proc~mat_mat_rel_atbt->proc~mat_mat_rel_atbt_opt proc~mat_vec_rel_atv_opt formatmul_opts::mat_vec_rel_ATv_opt proc~mat_vec_rel_atv->proc~mat_vec_rel_atv_opt proc~mat_vec_rel_av_opt formatmul_opts::mat_vec_rel_Av_opt proc~mat_vec_rel_av->proc~mat_vec_rel_av_opt proc~mm_ab_1 formatmul_opts::mm_AB_1 proc~mat_mat_rel_ab_opt->proc~mm_ab_1 proc~mm_ab_10 formatmul_opts::mm_AB_10 proc~mat_mat_rel_ab_opt->proc~mm_ab_10 proc~mm_ab_11 formatmul_opts::mm_AB_11 proc~mat_mat_rel_ab_opt->proc~mm_ab_11 proc~mm_ab_12 formatmul_opts::mm_AB_12 proc~mat_mat_rel_ab_opt->proc~mm_ab_12 proc~mm_ab_13 formatmul_opts::mm_AB_13 proc~mat_mat_rel_ab_opt->proc~mm_ab_13 proc~mm_ab_2 formatmul_opts::mm_AB_2 proc~mat_mat_rel_ab_opt->proc~mm_ab_2 proc~mm_ab_3 formatmul_opts::mm_AB_3 proc~mat_mat_rel_ab_opt->proc~mm_ab_3 proc~mm_ab_4 formatmul_opts::mm_AB_4 proc~mat_mat_rel_ab_opt->proc~mm_ab_4 proc~mm_ab_5 formatmul_opts::mm_AB_5 proc~mat_mat_rel_ab_opt->proc~mm_ab_5 proc~mm_ab_6 formatmul_opts::mm_AB_6 proc~mat_mat_rel_ab_opt->proc~mm_ab_6 proc~mm_ab_7 formatmul_opts::mm_AB_7 proc~mat_mat_rel_ab_opt->proc~mm_ab_7 proc~mm_ab_8 formatmul_opts::mm_AB_8 proc~mat_mat_rel_ab_opt->proc~mm_ab_8 proc~mm_ab_9 formatmul_opts::mm_AB_9 proc~mat_mat_rel_ab_opt->proc~mm_ab_9 proc~mm_abt_1 formatmul_opts::mm_ABT_1 proc~mat_mat_rel_abt_opt->proc~mm_abt_1 proc~mm_abt_10 formatmul_opts::mm_ABT_10 proc~mat_mat_rel_abt_opt->proc~mm_abt_10 proc~mm_abt_11 formatmul_opts::mm_ABT_11 proc~mat_mat_rel_abt_opt->proc~mm_abt_11 proc~mm_abt_12 formatmul_opts::mm_ABT_12 proc~mat_mat_rel_abt_opt->proc~mm_abt_12 proc~mm_abt_13 formatmul_opts::mm_ABT_13 proc~mat_mat_rel_abt_opt->proc~mm_abt_13 proc~mm_abt_2 formatmul_opts::mm_ABT_2 proc~mat_mat_rel_abt_opt->proc~mm_abt_2 proc~mm_abt_3 formatmul_opts::mm_ABT_3 proc~mat_mat_rel_abt_opt->proc~mm_abt_3 proc~mm_abt_4 formatmul_opts::mm_ABT_4 proc~mat_mat_rel_abt_opt->proc~mm_abt_4 proc~mm_abt_5 formatmul_opts::mm_ABT_5 proc~mat_mat_rel_abt_opt->proc~mm_abt_5 proc~mm_abt_6 formatmul_opts::mm_ABT_6 proc~mat_mat_rel_abt_opt->proc~mm_abt_6 proc~mm_abt_7 formatmul_opts::mm_ABT_7 proc~mat_mat_rel_abt_opt->proc~mm_abt_7 proc~mm_abt_8 formatmul_opts::mm_ABT_8 proc~mat_mat_rel_abt_opt->proc~mm_abt_8 proc~mm_abt_9 formatmul_opts::mm_ABT_9 proc~mat_mat_rel_abt_opt->proc~mm_abt_9 proc~mm_atb_1 formatmul_opts::mm_ATB_1 proc~mat_mat_rel_atb_opt->proc~mm_atb_1 proc~mm_atb_10 formatmul_opts::mm_ATB_10 proc~mat_mat_rel_atb_opt->proc~mm_atb_10 proc~mm_atb_11 formatmul_opts::mm_ATB_11 proc~mat_mat_rel_atb_opt->proc~mm_atb_11 proc~mm_atb_12 formatmul_opts::mm_ATB_12 proc~mat_mat_rel_atb_opt->proc~mm_atb_12 proc~mm_atb_13 formatmul_opts::mm_ATB_13 proc~mat_mat_rel_atb_opt->proc~mm_atb_13 proc~mm_atb_2 formatmul_opts::mm_ATB_2 proc~mat_mat_rel_atb_opt->proc~mm_atb_2 proc~mm_atb_3 formatmul_opts::mm_ATB_3 proc~mat_mat_rel_atb_opt->proc~mm_atb_3 proc~mm_atb_4 formatmul_opts::mm_ATB_4 proc~mat_mat_rel_atb_opt->proc~mm_atb_4 proc~mm_atb_5 formatmul_opts::mm_ATB_5 proc~mat_mat_rel_atb_opt->proc~mm_atb_5 proc~mm_atb_6 formatmul_opts::mm_ATB_6 proc~mat_mat_rel_atb_opt->proc~mm_atb_6 proc~mm_atb_7 formatmul_opts::mm_ATB_7 proc~mat_mat_rel_atb_opt->proc~mm_atb_7 proc~mm_atb_8 formatmul_opts::mm_ATB_8 proc~mat_mat_rel_atb_opt->proc~mm_atb_8 proc~mm_atb_9 formatmul_opts::mm_ATB_9 proc~mat_mat_rel_atb_opt->proc~mm_atb_9 proc~mm_atbt_1 formatmul_opts::mm_ATBT_1 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_1 proc~mm_atbt_10 formatmul_opts::mm_ATBT_10 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_10 proc~mm_atbt_11 formatmul_opts::mm_ATBT_11 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_11 proc~mm_atbt_12 formatmul_opts::mm_ATBT_12 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_12 proc~mm_atbt_13 formatmul_opts::mm_ATBT_13 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_13 proc~mm_atbt_2 formatmul_opts::mm_ATBT_2 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_2 proc~mm_atbt_3 formatmul_opts::mm_ATBT_3 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_3 proc~mm_atbt_4 formatmul_opts::mm_ATBT_4 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_4 proc~mm_atbt_5 formatmul_opts::mm_ATBT_5 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_5 proc~mm_atbt_6 formatmul_opts::mm_ATBT_6 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_6 proc~mm_atbt_7 formatmul_opts::mm_ATBT_7 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_7 proc~mm_atbt_8 formatmul_opts::mm_ATBT_8 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_8 proc~mm_atbt_9 formatmul_opts::mm_ATBT_9 proc~mat_mat_rel_atbt_opt->proc~mm_atbt_9 proc~mv_atv_1 formatmul_opts::mv_ATv_1 proc~mat_vec_rel_atv_opt->proc~mv_atv_1 proc~mv_atv_2 formatmul_opts::mv_ATv_2 proc~mat_vec_rel_atv_opt->proc~mv_atv_2 proc~mv_atv_3 formatmul_opts::mv_ATv_3 proc~mat_vec_rel_atv_opt->proc~mv_atv_3 proc~mv_atv_4 formatmul_opts::mv_ATv_4 proc~mat_vec_rel_atv_opt->proc~mv_atv_4 proc~mv_atv_5 formatmul_opts::mv_ATv_5 proc~mat_vec_rel_atv_opt->proc~mv_atv_5 proc~mv_atv_6 formatmul_opts::mv_ATv_6 proc~mat_vec_rel_atv_opt->proc~mv_atv_6 proc~mv_atv_7 formatmul_opts::mv_ATv_7 proc~mat_vec_rel_atv_opt->proc~mv_atv_7 proc~mv_atv_8 formatmul_opts::mv_ATv_8 proc~mat_vec_rel_atv_opt->proc~mv_atv_8 proc~mv_av_1 formatmul_opts::mv_Av_1 proc~mat_vec_rel_av_opt->proc~mv_av_1 proc~mv_av_2 formatmul_opts::mv_Av_2 proc~mat_vec_rel_av_opt->proc~mv_av_2 proc~mv_av_3 formatmul_opts::mv_Av_3 proc~mat_vec_rel_av_opt->proc~mv_av_3 proc~mv_av_4 formatmul_opts::mv_Av_4 proc~mat_vec_rel_av_opt->proc~mv_av_4 proc~mv_av_5 formatmul_opts::mv_Av_5 proc~mat_vec_rel_av_opt->proc~mv_av_5 proc~mv_av_6 formatmul_opts::mv_Av_6 proc~mat_vec_rel_av_opt->proc~mv_av_6 proc~mv_av_7 formatmul_opts::mv_Av_7 proc~mat_vec_rel_av_opt->proc~mv_av_7 proc~mv_av_8 formatmul_opts::mv_Av_8 proc~mat_vec_rel_av_opt->proc~mv_av_8 interface~gemm external_interfaces_matmul::gemm proc~mm_ab_2->interface~gemm proc~mm_abt_2->interface~gemm proc~mm_atb_2->interface~gemm proc~mm_atbt_2->interface~gemm interface~gemv external_interfaces_matmul::gemv proc~mv_atv_2->interface~gemv proc~mv_av_2->interface~gemv

Module Procedures

private pure function mat_mat_rel(A, B, transA, transB, option) result(C)

Author
Seyed Ali Ghasemi

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in), contiguous :: A(:,:)
real(kind=rk), intent(in), contiguous :: B(:,:)
logical, intent(in), optional :: transA
logical, intent(in), optional :: transB
character(len=*), intent(in), optional :: option

Return Value real(kind=rk), allocatable, (:,:)

private pure function mat_mat_block_rel(a, b, transA, transB, option, nblock) result(c)

Author
Seyed Ali Ghasemi

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in), contiguous :: a(:,:)
real(kind=rk), intent(in), contiguous :: b(:,:)
logical, intent(in), optional :: transA
logical, intent(in), optional :: transB
character(len=*), intent(in), optional :: option
integer, intent(in) :: nblock

Return Value real(kind=rk), allocatable, (:,:)

private impure function mat_mat_coarray_rel(a, b, transA, transB, option, coarray) result(c)

Author
Seyed Ali Ghasemi

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in), contiguous :: a(:,:)
real(kind=rk), intent(in), contiguous :: b(:,:)
logical, intent(in), optional :: transA
logical, intent(in), optional :: transB
character(len=*), intent(in), optional :: option
logical, intent(in) :: coarray

Return Value real(kind=rk), allocatable, (:,:)

private pure function mat_vec_rel(A, v, transA, option) result(w)

Author
Seyed Ali Ghasemi

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in), contiguous :: A(:,:)
real(kind=rk), intent(in), contiguous :: v(:)
logical, intent(in), optional :: transA
character(len=*), intent(in), optional :: option

Return Value real(kind=rk), allocatable, (:)

private pure function mat_vec_block_rel(A, v, transA, option, nblock) result(w)

Author
Seyed Ali Ghasemi

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in), contiguous :: A(:,:)
real(kind=rk), intent(in), contiguous :: v(:)
logical, intent(in), optional :: transA
character(len=*), intent(in), optional :: option
integer, intent(in) :: nblock

Return Value real(kind=rk), allocatable, (:)

private impure function mat_vec_coarray_rel(A, v, transA, option, coarray) result(w)

Author
Seyed Ali Ghasemi

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in), contiguous :: A(:,:)
real(kind=rk), intent(in), contiguous :: v(:)
logical, intent(in), optional :: transA
character(len=*), intent(in), optional :: option
logical, intent(in) :: coarray

Return Value real(kind=rk), allocatable, (:)