(git:db3ef62)
dbt_tas_global Module Reference

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. More...

Functions/Subroutines

type(dbt_tas_dist_arb) function, public 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. More...
 
subroutine, public dbt_tas_default_distvec (nblk, nproc, blk_size, dist)
 get a load-balanced and randomized distribution along one tensor dimension More...
 

Detailed Description

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.

Author
Patrick Seewald

Function/Subroutine Documentation

◆ dbt_tas_dist_arb_default()

type(dbt_tas_dist_arb) function, public dbt_tas_global::dbt_tas_dist_arb_default ( integer  nprowcol,
integer(kind=int_8), intent(in)  nmrowcol,
class(dbt_tas_rowcol_data), intent(in)  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.

Parameters
nprowcol...
nmrowcol...
dbt_sizes...
Returns
...
Author
Patrick Seewald

Definition at line 458 of file dbt_tas_global.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dbt_tas_default_distvec()

subroutine, public dbt_tas_global::dbt_tas_default_distvec ( integer, intent(in)  nblk,
integer, intent(in)  nproc,
integer, dimension(nblk), intent(in)  blk_size,
integer, dimension(nblk), intent(out)  dist 
)

get a load-balanced and randomized distribution along one tensor dimension

Parameters
nblknumber of blocks (along one tensor dimension)
nprocnumber of processes (along one process grid dimension)
blk_sizeblock sizes
distdistribution
Author
Patrick Seewald

Definition at line 484 of file dbt_tas_global.F.

Here is the call graph for this function:
Here is the caller graph for this function: