(git:b279b6b)
dbt_tas_mm.F File Reference

Go to the source code of this file.

Modules

module  dbt_tas_mm
 Matrix multiplication for tall-and-skinny matrices. This uses the k-split (non-recursive) CARMA algorithm that is communication-optimal as long as the two smaller dimensions have the same size. Submatrices are obtained by splitting a dimension of the process grid. Multiplication of submatrices uses DBM Cannon algorithm. Due to unknown sparsity pattern of result matrix, parameters (group sizes and process grid dimensions) can not be derived from matrix dimensions and need to be set manually.
 

Functions/Subroutines

recursive subroutine, public dbt_tas_mm::dbt_tas_multiply (transa, transb, transc, alpha, matrix_a, matrix_b, beta, matrix_c, optimize_dist, split_opt, filter_eps, flop, move_data_a, move_data_b, retain_sparsity, simple_split, unit_nr, log_verbose)
 tall-and-skinny matrix-matrix multiplication. Undocumented dummy arguments are identical to arguments of dbm_multiply (see dbm_mm, dbm_multiply_generic). More...
 
subroutine, public dbt_tas_mm::dbt_tas_batched_mm_init (matrix)
 ... More...
 
subroutine, public dbt_tas_mm::dbt_tas_batched_mm_finalize (matrix)
 ... More...
 
subroutine, public dbt_tas_mm::dbt_tas_set_batched_state (matrix, state, opt_grid)
 set state flags during batched multiplication More...
 
subroutine, public dbt_tas_mm::dbt_tas_batched_mm_complete (matrix, warn)
 ... More...