(git:f824184)
Loading...
Searching...
No Matches
dbt_reshape_ops::dbt_copy_indexed Interface Reference

Public Member Functions

subroutine dbt_reshape (tensor_in, tensor_out, summation, move_data, bounds, index_map, group_mask, group_dim)
 copy data (involves reshape) tensor_out = tensor_out + tensor_in move_data memory optimization: transfer data from tensor_in to tensor_out s.t. tensor_in is empty on return
subroutine dbt_gather (tensor_in, tensor_out, images, index_map, stack_dim)
 Gather whole blocks from selected tensors, optionally relabelling each block index. Zero images or mapped indices are skipped. Blocks retain their sizes. Each image occupies one source tensor extent along stack_dim, including skipped images. Retained index maps must be injective; the stack-dimension map stays within one source extent.

Detailed Description

Definition at line 44 of file dbt_reshape_ops.F.

Member Function/Subroutine Documentation

◆ dbt_reshape()

subroutine dbt_reshape_ops::dbt_copy_indexed::dbt_reshape ( type(dbt_type), intent(inout), target tensor_in,
type(dbt_type), intent(inout) tensor_out,
logical, intent(in), optional summation,
logical, intent(in), optional move_data,
integer, dimension(:, :), intent(in), optional bounds,
integer, dimension(:, :), intent(in), optional index_map,
logical, dimension(:, :), intent(in), optional group_mask,
integer, intent(in), optional group_dim )

copy data (involves reshape) tensor_out = tensor_out + tensor_in move_data memory optimization: transfer data from tensor_in to tensor_out s.t. tensor_in is empty on return

Parameters
boundscrop tensor data while copying (as dbt_crop): start and end index per dimension
tensor_insource tensor on the parent communicator
tensor_outdestination tensor; smaller communicators denote equal, contiguous subgroups
summationadd to destination instead of replacing it
move_dataclear the source after copying
index_mapoptional source-to-destination block indices; zero skips a block
group_maskoptional subgroup selection by source block index
group_dimsource dimension indexing group_mask
Author
Ole Schuett

Definition at line 68 of file dbt_reshape_ops.F.

◆ dbt_gather()

subroutine dbt_reshape_ops::dbt_copy_indexed::dbt_gather ( type(dbt_type), dimension(:), intent(inout), target tensor_in,
type(dbt_type), intent(inout) tensor_out,
integer, dimension(:), intent(in) images,
integer, dimension(:, :), intent(in) index_map,
integer, intent(in) stack_dim )

Gather whole blocks from selected tensors, optionally relabelling each block index. Zero images or mapped indices are skipped. Blocks retain their sizes. Each image occupies one source tensor extent along stack_dim, including skipped images. Retained index maps must be injective; the stack-dimension map stays within one source extent.

Parameters
tensor_insource tensors on one communicator, with identical shapes
tensor_outdestination tensor
imagessource tensor indices; zero skips an image
index_mapsource-to-destination block indices, padded to the largest source dimension
stack_dimdimension along which images are stacked

Definition at line 94 of file dbt_reshape_ops.F.

Here is the call graph for this function:

The documentation for this interface was generated from the following file: