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 = thread_buffer< typename TileWindowBase::DataType, ScalarPerVector/PackedSize >
 
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 = thread_buffer<typename TileWindowBase::DataType, ScalarPerVector / PackedSize>

Member Function Documentation

◆ get_space_filling_curve()

template<typename TileWindowType_ , typename BottomTensorView_ , typename WindowLengths_ , typename StaticTileDistribution_ >
static 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_ >
static 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_ >
constexpr 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_ >
constexpr index_t ck_tile::tile_window_with_tile_dstr_base< TileWindowType_, BottomTensorView_, WindowLengths_, StaticTileDistribution_ >::Traits::PackedSize
staticconstexpr
Initial value:

◆ ScalarPerVector

template<typename TileWindowType_ , typename BottomTensorView_ , typename WindowLengths_ , typename StaticTileDistribution_ >
constexpr 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_ >
constexpr 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_);
}()
constexpr CK_TILE_HOST_DEVICE auto generate_array(F &&f, number< N >)
Definition: sequence.hpp:1112
static constexpr index_t ScalarPerVector
Definition: tile_window_base.hpp:173
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_ >
constexpr 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:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/core/tensor/tile_window_base.hpp