Traits Struct Reference

Traits Struct Reference#

Composable Kernel: ck_tile::tile_window_with_tile_dstr_base< TileWindowType_, BottomTensorView_, WindowLengths_, StaticTileDistribution_ >::Traits Struct Reference
ck_tile::tile_window_with_tile_dstr_base< TileWindowType_, BottomTensorView_, WindowLengths_, StaticTileDistribution_ >::Traits Struct Reference

#include <tile_window_base.hpp>

Public Types

using vector_t
using SFC_Ys = decltype(get_space_filling_curve())

Static Public Member Functions

static constexpr auto get_vector_dim_y_scalar_per_vector ()
static constexpr auto get_space_filling_curve ()

Static Public Attributes

static constexpr index_t PackedSize
static constexpr index_t VectorDimY = get_vector_dim_y_scalar_per_vector().template at<0>()
static constexpr index_t ScalarPerVector
static constexpr auto scalars_per_access_
static constexpr index_t NumAccess = SFC_Ys::get_num_of_access()

Member Typedef Documentation

◆ SFC_Ys

template<typename TileWindowType_, typename BottomTensorView_, typename WindowLengths_, typename StaticTileDistribution_>
using ck_tile::tile_window_with_tile_dstr_base< TileWindowType_, BottomTensorView_, WindowLengths_, StaticTileDistribution_ >::Traits::SFC_Ys = decltype(get_space_filling_curve())

◆ vector_t

template<typename TileWindowType_, typename BottomTensorView_, typename WindowLengths_, typename StaticTileDistribution_>
using ck_tile::tile_window_with_tile_dstr_base< TileWindowType_, BottomTensorView_, WindowLengths_, StaticTileDistribution_ >::Traits::vector_t
Initial value:
Definition tile/core/utility/debug.hpp:67
remove_cvref_t< typename BottomTensorView::DataType > DataType
Definition tile_window_base.hpp:36
static constexpr index_t ScalarPerVector
Definition tile_window_base.hpp:173
static constexpr index_t PackedSize
Definition tile_window_base.hpp:149

Member Function Documentation

◆ get_space_filling_curve()

template<typename TileWindowType_, typename BottomTensorView_, typename WindowLengths_, typename StaticTileDistribution_>
constexpr auto ck_tile::tile_window_with_tile_dstr_base< TileWindowType_, BottomTensorView_, WindowLengths_, StaticTileDistribution_ >::Traits::get_space_filling_curve ( )
inlinestaticconstexpr

!! no snaked curve!

◆ get_vector_dim_y_scalar_per_vector()

template<typename TileWindowType_, typename BottomTensorView_, typename WindowLengths_, typename StaticTileDistribution_>
constexpr auto ck_tile::tile_window_with_tile_dstr_base< TileWindowType_, BottomTensorView_, WindowLengths_, StaticTileDistribution_ >::Traits::get_vector_dim_y_scalar_per_vector ( )
inlinestaticconstexpr

Member Data Documentation

◆ NumAccess

template<typename TileWindowType_, typename BottomTensorView_, typename WindowLengths_, typename StaticTileDistribution_>
index_t ck_tile::tile_window_with_tile_dstr_base< TileWindowType_, BottomTensorView_, WindowLengths_, StaticTileDistribution_ >::Traits::NumAccess = SFC_Ys::get_num_of_access()
staticconstexpr

◆ PackedSize

template<typename TileWindowType_, typename BottomTensorView_, typename WindowLengths_, typename StaticTileDistribution_>
index_t ck_tile::tile_window_with_tile_dstr_base< TileWindowType_, BottomTensorView_, WindowLengths_, StaticTileDistribution_ >::Traits::PackedSize
staticconstexpr
Initial value:
=
Definition tile/core/numeric/numeric.hpp:81
static constexpr index_t PackedSize
Definition static_distributed_tensor.hpp:30

◆ ScalarPerVector

template<typename TileWindowType_, typename BottomTensorView_, typename WindowLengths_, typename StaticTileDistribution_>
index_t ck_tile::tile_window_with_tile_dstr_base< TileWindowType_, BottomTensorView_, WindowLengths_, StaticTileDistribution_ >::Traits::ScalarPerVector
staticconstexpr
Initial value:
=
static constexpr auto get_vector_dim_y_scalar_per_vector()
Definition tile_window_base.hpp:152

◆ scalars_per_access_

template<typename TileWindowType_, typename BottomTensorView_, typename WindowLengths_, typename StaticTileDistribution_>
auto ck_tile::tile_window_with_tile_dstr_base< TileWindowType_, BottomTensorView_, WindowLengths_, StaticTileDistribution_ >::Traits::scalars_per_access_
staticconstexpr
Initial value:
= [] {
constexpr auto scalars_per_access_arr = generate_array(
[&](auto i) { return (i == VectorDimY) ? ScalarPerVector : 1; }, number<NDimY>{});
constexpr auto NDimY_ = NDimY;
return TO_SEQUENCE(scalars_per_access_arr, NDimY_);
}()
CK_TILE_HOST_DEVICE constexpr auto generate_array(F &&f, number< N >)
Definition tile/core/container/sequence.hpp:1115
constant< v > number
Definition tile/core/numeric/integral_constant.hpp:37
static constexpr index_t VectorDimY
Definition tile_window_base.hpp:172
static constexpr index_t NDimY
Definition tile_window_base.hpp:103
#define TO_SEQUENCE(a, n)
Definition to_sequence.hpp:10

◆ VectorDimY

template<typename TileWindowType_, typename BottomTensorView_, typename WindowLengths_, typename StaticTileDistribution_>
index_t ck_tile::tile_window_with_tile_dstr_base< TileWindowType_, BottomTensorView_, WindowLengths_, StaticTileDistribution_ >::Traits::VectorDimY = get_vector_dim_y_scalar_per_vector().template at<0>()
staticconstexpr

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