(git:6a2e663)
dbt_split Module Reference

Routines to split blocks and to convert between tensors with different block sizes. More...

Functions/Subroutines

subroutine, public dbt_split_blocks_generic (tensor_in, tensor_out, blk_size_1, blk_size_2, blk_size_3, blk_size_4, nodata)
 Split tensor blocks into smaller blocks. More...
 
subroutine, public dbt_split_blocks (tensor_in, tensor_out, block_sizes, nodata)
 Split tensor blocks into smaller blocks of maximum size PRODUCT(block_sizes). More...
 
subroutine, public dbt_split_copyback (tensor_split_in, tensor_out, summation)
 Copy tensor with split blocks to tensor with original block sizes. More...
 
subroutine, public dbt_make_compatible_blocks (tensor1, tensor2, tensor1_split, tensor2_split, order, nodata1, nodata2, move_data)
 split two tensors with same total sizes but different block sizes such that they have equal block sizes More...
 
subroutine, public dbt_crop (tensor_in, tensor_out, bounds, move_data)
 

Detailed Description

Routines to split blocks and to convert between tensors with different block sizes.

Author
Patrick Seewald

Function/Subroutine Documentation

◆ dbt_split_blocks_generic()

subroutine, public dbt_split::dbt_split_blocks_generic ( type(dbt_type), intent(inout)  tensor_in,
type(dbt_type), intent(out)  tensor_out,
integer, dimension(:), intent(in), optional  blk_size_1,
integer, dimension(:), intent(in), optional  blk_size_2,
integer, dimension(:), intent(in), optional  blk_size_3,
integer, dimension(:), intent(in), optional  blk_size_4,
logical, intent(in), optional  nodata 
)

Split tensor blocks into smaller blocks.

Parameters
tensor_inInput tensor
tensor_outOutput tensor (splitted blocks)
blk_size_iblock sizes for each of the tensor dimensions
nodatadon't copy data from tensor_in to tensor_out
Author
Patrick Seewald

Definition at line 68 of file dbt_split.F.

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

◆ dbt_split_blocks()

subroutine, public dbt_split::dbt_split_blocks ( type(dbt_type), intent(inout)  tensor_in,
type(dbt_type), intent(out)  tensor_out,
integer, dimension(ndims_tensor(tensor_in)), intent(in)  block_sizes,
logical, intent(in), optional  nodata 
)

Split tensor blocks into smaller blocks of maximum size PRODUCT(block_sizes).

Parameters
tensor_inInput tensor
tensor_outOutput tensor (split blocks)
block_sizesblock sizes for each of the tensor dimensions
nodatadon't copy data from tensor_in to tensor_out
Author
Patrick Seewald

Definition at line 454 of file dbt_split.F.

Here is the call graph for this function:

◆ dbt_split_copyback()

subroutine, public dbt_split::dbt_split_copyback ( type(dbt_type), intent(inout)  tensor_split_in,
type(dbt_type), intent(inout)  tensor_out,
logical, intent(in), optional  summation 
)

Copy tensor with split blocks to tensor with original block sizes.

Parameters
tensor_split_intensor with smaller blocks
tensor_outoriginal tensor
Author
Patrick Seewald

Definition at line 526 of file dbt_split.F.

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

◆ dbt_make_compatible_blocks()

subroutine, public dbt_split::dbt_make_compatible_blocks ( type(dbt_type), intent(inout)  tensor1,
type(dbt_type), intent(inout)  tensor2,
type(dbt_type), intent(out)  tensor1_split,
type(dbt_type), intent(out)  tensor2_split,
integer, dimension(ndims_tensor(tensor1)), intent(in), optional  order,
logical, intent(in), optional  nodata1,
logical, intent(in), optional  nodata2,
logical, intent(in), optional  move_data 
)

split two tensors with same total sizes but different block sizes such that they have equal block sizes

Parameters
move_datamemory optimization: transfer data s.t. tensor1 and tensor2 may be empty on return
tensor1_splittensor 1 with split blocks
tensor2_splittensor 2 with split blocks
nodata1don't copy data of tensor 1
nodata2don't copy data of tensor 2

Definition at line 786 of file dbt_split.F.

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

◆ dbt_crop()

subroutine, public dbt_split::dbt_crop ( type(dbt_type), intent(inout)  tensor_in,
type(dbt_type), intent(out)  tensor_out,
integer, dimension(2, ndims_tensor(tensor_in)), intent(in)  bounds,
logical, intent(in), optional  move_data 
)
Author
Patrick Seewald

Definition at line 933 of file dbt_split.F.

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