(git:374b731)
Loading...
Searching...
No Matches
dbt_tas_global.F File Reference

Go to the source code of this file.

Data Types

type  dbt_tas_global::dbt_tas_distribution
 
interface  dbt_tas_global::dbt_tas_dist_cyclic
 type for cyclic (round robin) distribution: More...
 
interface  dbt_tas_global::dbt_tas_dist_arb
 type for arbitrary distributions More...
 
interface  dbt_tas_global::dbt_tas_dist_repl
 type for replicated distribution More...
 
type  dbt_tas_global::dbt_tas_rowcol_data
 
interface  dbt_tas_global::dbt_tas_blk_size_arb
 type for arbitrary block sizes More...
 
interface  dbt_tas_global::dbt_tas_blk_size_repl
 type for replicated block sizes More...
 
interface  dbt_tas_global::dbt_tas_blk_size_one
 type for blocks of size one More...
 
interface  dbt_tas_global::rowcol_dist
 map matrix rows/cols to distribution rows/cols More...
 

Modules

module  dbt_tas_global
 Global data (distribution and block sizes) for tall-and-skinny matrices For very sparse matrices with one very large dimension, storing array data of the same size as the matrix dimensions may require too much memory and we need to compute them on the fly for a given row or column. Hence global array data such as distribution and block sizes are specified as function objects, leaving up to the caller how to efficiently store global data.
 

Functions/Subroutines

type(dbt_tas_dist_arb) function, public dbt_tas_global::dbt_tas_dist_arb_default (nprowcol, nmrowcol, dbt_sizes)
 Distribution that is more or less cyclic (round robin) and load balanced with different weights for each element. This is used for creating adhoc distributions whenever matrices are mapped to new grids. Only for small dimensions since distribution is created as an array.
 
subroutine, public dbt_tas_global::dbt_tas_default_distvec (nblk, nproc, blk_size, dist)
 get a load-balanced and randomized distribution along one tensor dimension