![]() |
(git:b77b4be)
|
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. | |
subroutine, public | dbt_split_blocks (tensor_in, tensor_out, block_sizes, nodata) |
Split tensor blocks into smaller blocks of maximum size PRODUCT(block_sizes). | |
subroutine, public | dbt_split_copyback (tensor_split_in, tensor_out, summation) |
Copy tensor with split blocks to tensor with original block sizes. | |
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 | |
subroutine, public | dbt_crop (tensor_in, tensor_out, bounds, move_data) |
Routines to split blocks and to convert between tensors with different block sizes.
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.
tensor_in | Input tensor |
tensor_out | Output tensor (splitted blocks) |
blk_size_i | block sizes for each of the tensor dimensions |
nodata | don't copy data from tensor_in to tensor_out |
Definition at line 68 of file dbt_split.F.
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).
tensor_in | Input tensor |
tensor_out | Output tensor (split blocks) |
block_sizes | block sizes for each of the tensor dimensions |
nodata | don't copy data from tensor_in to tensor_out |
Definition at line 454 of file dbt_split.F.
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.
tensor_split_in | tensor with smaller blocks |
tensor_out | original tensor |
Definition at line 526 of file dbt_split.F.
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
move_data | memory optimization: transfer data s.t. tensor1 and tensor2 may be empty on return |
tensor1_split | tensor 1 with split blocks |
tensor2_split | tensor 2 with split blocks |
nodata1 | don't copy data of tensor 1 |
nodata2 | don't copy data of tensor 2 |
param
param
Definition at line 786 of file dbt_split.F.
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 | ||
) |
Definition at line 933 of file dbt_split.F.