tile_window_base.hpp Source File#
tile_window_base.hpp
Go to the documentation of this file.
Definition tile/core/algorithm/cluster_descriptor.hpp:13
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition type_traits.hpp:21
typename std::remove_reference< T >::type remove_reference_t
Definition type_traits.hpp:15
CK_TILE_HOST_DEVICE constexpr void move_tensor_adaptor_coordinate(const Adaptor &adaptor, AdaptorCoord &coord, const TopIndex &idx_diff_top, BottomIndex &idx_diff_bottom)
Definition tensor_adaptor_coordinate.hpp:97
CK_TILE_HOST_DEVICE constexpr auto generate_array(F &&f, number< N >)
Definition tile/core/container/sequence.hpp:1115
CK_TILE_HOST_DEVICE constexpr void set_container_subset(array< T, N > &y, sequence< Is... > picks, const array< T, sizeof...(Is)> &x)
Definition tile/core/container/container_helper.hpp:420
CK_TILE_HOST_DEVICE constexpr auto get_container_subset(const array< T, N > &arr, sequence< Is... >)
Definition tile/core/container/container_helper.hpp:389
CK_TILE_HOST_DEVICE constexpr void move_tensor_coordinate(const TensorDesc &tensor_desc, TensorCoord &coord, const Index &coord_step)
Definition tensor_coordinate.hpp:72
CK_TILE_HOST_DEVICE constexpr auto make_tensor_adaptor_coordinate(const Adaptor &adaptor, const TopIndex &idx_top)
Definition tensor_adaptor_coordinate.hpp:55
CK_TILE_HOST_DEVICE constexpr auto to_sequence(tuple< number< Is >... >)
Definition tile/core/container/sequence.hpp:1055
CK_TILE_HOST_DEVICE constexpr auto make_tensor_coordinate(const TensorDesc &tensor_desc, const TopIndex &idx_top)
Definition tensor_coordinate.hpp:60
CK_TILE_HOST_DEVICE constexpr auto make_tuple(Xs &&... xs)
Definition tile/core/container/tuple.hpp:360
Definition tile/core/container/sequence.hpp:287
typename std::conditional< kHasContent, type0, type1 >::type type
Definition tile/core/container/sequence.hpp:302
A fixed-size array container similar to std::array with additional utilities.
Definition tile/core/container/array.hpp:43
static constexpr bool value
Definition type_traits.hpp:77
Definition tile/core/numeric/numeric.hpp:81
Definition space_filling_curve.hpp:20
Definition tile/core/utility/debug.hpp:67
This class provides description of tile windowed view on the device memory.
Definition tile_window_base.hpp:31
static constexpr index_t NDimBottomTensor
Definition tile_window_base.hpp:38
BottomTensorView bottom_tensor_view_
Definition tile_window_base.hpp:85
CK_TILE_DEVICE constexpr auto get_window_origin() const
Definition tile_window_base.hpp:45
remove_cvref_t< typename BottomTensorView::DataType > DataType
Definition tile_window_base.hpp:36
typename BottomTensorView::TensorDesc BottomTensorDesc
Definition tile_window_base.hpp:35
CK_TILE_DEVICE constexpr auto get_bottom_tensor_view() const
Definition tile_window_base.hpp:47
BottomTensorIndex window_origin_
Definition tile_window_base.hpp:79
CK_TILE_DEVICE void set_window_origin(const BottomTensorIndex &new_window_origin)
Definition tile_window_base.hpp:50
CK_TILE_DEVICE constexpr auto get_window_lengths() const
Definition tile_window_base.hpp:46
static CK_TILE_DEVICE constexpr index_t get_num_of_dimension()
Definition tile_window_base.hpp:48
CK_TILE_DEVICE void move_extended(const BottomTensorIndex &)
Definition tile_window_base.hpp:76
CK_TILE_DEVICE void move(const BottomTensorIndex &step)
Definition tile_window_base.hpp:67
CK_TILE_DEVICE constexpr void set_bottom_tensor_view_data_ptr(typename BottomTensorView::DataType *data)
Definition tile_window_base.hpp:61
remove_reference_t< BottomTensorView_ > BottomTensorView
Definition tile_window_base.hpp:33
remove_cvref_t< WindowLengths_ > WindowLengths
Definition tile_window_base.hpp:34
array< index_t, NDimBottomTensor > BottomTensorIndex
Definition tile_window_base.hpp:43
WindowLengths window_lengths_
Definition tile_window_base.hpp:81
CK_TILE_DEVICE void set_window_origin_extended(const BottomTensorIndex &)
Definition tile_window_base.hpp:58
Definition tile_window_base.hpp:147
decltype(get_space_filling_curve()) SFC_Ys
Definition tile_window_base.hpp:202
static constexpr auto get_space_filling_curve()
Definition tile_window_base.hpp:188
static constexpr index_t ScalarPerVector
Definition tile_window_base.hpp:173
static constexpr index_t PackedSize
Definition tile_window_base.hpp:149
static constexpr auto scalars_per_access_
Definition tile_window_base.hpp:178
static constexpr index_t VectorDimY
Definition tile_window_base.hpp:172
thread_buffer< typename TileWindowBase::DataType, ScalarPerVector/PackedSize > vector_t
Definition tile_window_base.hpp:175
static constexpr index_t NumAccess
Definition tile_window_base.hpp:204
static constexpr auto get_vector_dim_y_scalar_per_vector()
Definition tile_window_base.hpp:152
Definition tile_window_base.hpp:94
static constexpr index_t NDimY
Definition tile_window_base.hpp:103
static constexpr index_t NDimWindowAdaptorTop
Definition tile_window_base.hpp:100
CK_TILE_DEVICE constexpr auto get_num_of_access() const
Definition tile_window_base.hpp:249
CK_TILE_DEVICE constexpr auto get_tile_distribution() const
Definition tile_window_base.hpp:118
decltype(make_tensor_coordinate(typename TileWindowBase::BottomTensorDesc{}, typename TileWindowBase::BottomTensorIndex{})) BottomTensorCoord
Definition tile_window_base.hpp:111
static constexpr index_t NDimP
Definition tile_window_base.hpp:102
remove_cvref_t< StaticTileDistribution_ > TileDstr
Definition tile_window_base.hpp:95
static CK_TILE_DEVICE constexpr auto get_window_adaptor_ys_safe_vector_length_strides()
Definition tile_window_base.hpp:210
CK_TILE_HOST_DEVICE void init_raw()
Definition tile_window_base.hpp:119
tile_window_base< tile_window_with_static_distribution< BottomTensorView_, WindowLengths_, StaticTileDistribution_, NumCoord >, BottomTensorView_, WindowLengths_ > TileWindowBase
Definition tile_window_base.hpp:96
typename TileDstr::PsYs2XsAdaptor WindowAdaptor
Definition tile_window_base.hpp:98
decltype(make_tensor_adaptor_coordinate(WindowAdaptor{}, AdaptorTopIndex{})) WindowAdaptorCoord
Definition tile_window_base.hpp:108
array< index_t, NDimWindowAdaptorTop > AdaptorTopIndex
Definition tile_window_base.hpp:105
CK_TILE_DEVICE void move_window_adaptor_and_bottom_tensor_thread_coordinate(WindowAdaptorCoord &window_adaptor_thread_coord, BottomTensorCoord &bottom_tensor_thread_coord, const ATopIndex &idx_diff_adaptor_top) const
Definition tile_window_base.hpp:129
TileDstr tile_dstr_
Definition tile_window_base.hpp:253
static CK_TILE_DEVICE constexpr bool has_static_tile_distribution()
Definition tile_window_base.hpp:121