(git:e7e05ae)
dbt_tas_split.F File Reference

Go to the source code of this file.

Modules

module  dbt_tas_split
 methods to split tall-and-skinny matrices along longest dimension. Basically, we are splitting process grid and each subgrid holds its own DBM matrix.
 

Functions/Subroutines

subroutine, public dbt_tas_split::dbt_tas_create_split_rows_or_cols (split_info, mp_comm, ngroup, igroup, split_rowcol, own_comm)
 split mpi grid by rows or columns More...
 
type(mp_cart_type) function, public dbt_tas_split::dbt_tas_mp_comm (mp_comm, split_rowcol, nsplit)
 Create default cartesian process grid that is consistent with default split heuristic of dbt_tas_create_split. More...
 
integer function, dimension(2), public dbt_tas_split::dbt_tas_mp_dims (numproc, split_rowcol, nsplit)
 Get optimal process grid dimensions consistent with dbt_tas_create_split. More...
 
subroutine, public dbt_tas_split::dbt_tas_create_split (split_info, mp_comm, split_rowcol, nsplit, own_comm, opt_nsplit)
 Split Cartesian process grid using a default split heuristic. More...
 
logical function, public dbt_tas_split::accept_pgrid_dims (dims, relative)
 Whether to accept proposed process grid dimensions (based on ratio of dimensions) More...
 
subroutine, public dbt_tas_split::dbt_tas_get_split_info (info, mp_comm, nsplit, igroup, mp_comm_group, split_rowcol, pgrid_offset)
 Get info on split. More...
 
subroutine, public dbt_tas_split::dbt_tas_release_info (split_info)
 ... More...
 
subroutine, public dbt_tas_split::dbt_tas_info_hold (split_info)
 ... More...
 
subroutine, public dbt_tas_split::world_to_group_proc_map (iproc, pdims, split_rowcol, pgrid_split_size, igroup, pdims_group, iproc_group)
 map global process info to group More...
 
subroutine, public dbt_tas_split::group_to_world_proc_map (iproc, pdims, split_rowcol, pgrid_split_size, igroup, iproc_group)
 map local process info to global info More...
 
subroutine, public dbt_tas_split::dbt_index_local_to_global (info, dist, row_group, column_group, row, column)
 map group local block index to global matrix index More...
 
subroutine, public dbt_tas_split::dbt_index_global_to_local (info, dist, row, column, row_group, column_group)
 map global block index to group local index More...
 
subroutine, public dbt_tas_split::group_to_mrowcol (info, rowcol_dist, igroup, rowcols)
 maps a process subgroup to matrix rows/columns More...
 
subroutine, public dbt_tas_split::dbt_tas_set_strict_split (info)
 freeze current split factor such that it is never changed during multiplication More...
 

Variables

integer, parameter, public dbt_tas_split::rowsplit = 1
 
integer, parameter, public dbt_tas_split::colsplit = 2
 
real(dp), parameter, public dbt_tas_split::default_pdims_accept_ratio = 1.2_dp
 
real(dp), parameter, public dbt_tas_split::default_nsplit_accept_ratio = 3.0_dp