tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ > Struct Template Reference

tensor_descriptor&lt; Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ > Struct Template Reference
ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ > Struct Template Reference

#include <tensor_descriptor.hpp>

Inheritance diagram for ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >:
ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, sequence< 0 >, TopDimensionHiddenIds >

Public Types

using Base
using ElementSpaceSizeType = ElementSpaceSize
using GuaranteedVectorLengths = GuaranteedVectorLengths_
using GuaranteedVectorStrides = GuaranteedVectorSrides_
using TopIndex = multi_index<ndim_top_>
using HiddenIndex = multi_index<ndim_hidden_>
Public Types inherited from ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, sequence< 0 >, TopDimensionHiddenIds >
using HiddenIndex
using BottomIndex
using TopIndex
using ElementSize

Public Member Functions

CK_TILE_HOST_DEVICE constexpr tensor_descriptor ()=default
CK_TILE_HOST_DEVICE constexpr tensor_descriptor (const Transforms &transforms, ElementSpaceSize element_space_size)
CK_TILE_HOST_DEVICE constexpr tensor_descriptor (const Base &adaptor, ElementSpaceSize element_space_size)
template<index_t IDim>
CK_TILE_HOST_DEVICE constexpr auto get_length (number< IDim > idim) const
CK_TILE_HOST_DEVICE constexpr auto get_lengths () const
CK_TILE_HOST_DEVICE constexpr auto get_element_space_size () const
template<typename Idx>
CK_TILE_HOST_DEVICE constexpr index_t calculate_offset (const Idx &idx) const
CK_TILE_HOST_DEVICE constexpr const auto & get_transforms () const
Public Member Functions inherited from ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, sequence< 0 >, TopDimensionHiddenIds >
CK_TILE_HOST_DEVICE constexpr const auto & get_transforms () const
CK_TILE_HOST_DEVICE constexpr tensor_adaptor ()=default
CK_TILE_HOST_DEVICE constexpr tensor_adaptor (const Transforms &transforms)
CK_TILE_HOST_DEVICE constexpr auto get_element_size () const
CK_TILE_HOST_DEVICE constexpr auto get_hidden_dimension_length (number< IDimHidden >) const
CK_TILE_HOST_DEVICE constexpr auto get_top_dimension_length (number< IDimTop > idim_top) const
CK_TILE_HOST_DEVICE constexpr auto get_top_dimension_lengths () const
CK_TILE_HOST_DEVICE constexpr auto calculate_bottom_index (const TopIdx &idx_top) const

Static Public Member Functions

static CK_TILE_HOST_DEVICE constexpr index_t get_num_of_dimension ()
static CK_TILE_HOST_DEVICE constexpr auto get_lower_dimension_hidden_idss ()
static CK_TILE_HOST_DEVICE constexpr auto get_upper_dimension_hidden_idss ()
static CK_TILE_HOST_DEVICE constexpr auto get_top_dimension_hidden_ids ()
static CK_TILE_HOST_DEVICE constexpr bool is_static ()
static CK_TILE_HOST_DEVICE constexpr bool is_known_at_compile_time ()
template<index_t Internal = 0>
static CK_TILE_HOST_DEVICE constexpr auto get_top_dimension_safe_vector_length_strides ()
Static Public Member Functions inherited from ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, sequence< 0 >, TopDimensionHiddenIds >
static CK_TILE_HOST_DEVICE constexpr index_t get_num_of_transform ()
static CK_TILE_HOST_DEVICE constexpr auto get_lower_dimension_hidden_idss ()
static CK_TILE_HOST_DEVICE constexpr auto get_upper_dimension_hidden_idss ()
static CK_TILE_HOST_DEVICE constexpr auto get_bottom_dimension_hidden_ids ()
static CK_TILE_HOST_DEVICE constexpr auto get_top_dimension_hidden_ids ()
static CK_TILE_HOST_DEVICE constexpr auto initialize_element_size (const Transforms &transforms)
static CK_TILE_HOST_DEVICE constexpr auto get_transform_and_its_upper_dimension (number< IDimHidden >)
static CK_TILE_HOST_DEVICE constexpr index_t get_num_of_bottom_dimension ()
static CK_TILE_HOST_DEVICE constexpr index_t get_num_of_top_dimension ()
static CK_TILE_HOST_DEVICE constexpr index_t get_num_of_hidden_dimension ()
static CK_TILE_HOST_DEVICE constexpr bool is_static ()
static CK_TILE_HOST_DEVICE constexpr bool is_known_at_compile_time ()
static CK_TILE_HOST_DEVICE constexpr auto get_top_dimension_safe_vector_length_strides (const array< index_t, ndim_hidden_ > &guaranteed_vector_lengths, const array< index_t, ndim_hidden_ > &guaranteed_vector_strides)

Public Attributes

ElementSpaceSize element_space_size_

Static Public Attributes

static constexpr index_t ntransform_ = Base::get_num_of_transform()
static constexpr index_t ndim_hidden_ = Base::get_num_of_hidden_dimension()
static constexpr index_t ndim_top_ = Base::get_num_of_top_dimension()
Static Public Attributes inherited from ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, sequence< 0 >, TopDimensionHiddenIds >
static constexpr index_t ntransform_
static constexpr index_t ndim_hidden_
static constexpr index_t ndim_bottom_
static constexpr index_t ndim_top_

Member Typedef Documentation

◆ Base

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
using ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::Base
Initial value:
tensor_adaptor<Transforms,
LowerDimensionHiddenIdss,
UpperDimensionHiddenIdss,
TopDimensionHiddenIds>
Definition tile/core/container/sequence.hpp:49

◆ ElementSpaceSizeType

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
using ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::ElementSpaceSizeType = ElementSpaceSize

◆ GuaranteedVectorLengths

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
using ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::GuaranteedVectorLengths = GuaranteedVectorLengths_

◆ GuaranteedVectorStrides

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
using ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::GuaranteedVectorStrides = GuaranteedVectorSrides_

◆ HiddenIndex

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
using ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::HiddenIndex = multi_index<ndim_hidden_>

◆ TopIndex

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
using ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::TopIndex = multi_index<ndim_top_>

Constructor & Destructor Documentation

◆ tensor_descriptor() [1/3]

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
CK_TILE_HOST_DEVICE constexpr ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::tensor_descriptor ( )
constexprdefault

◆ tensor_descriptor() [2/3]

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
CK_TILE_HOST_DEVICE constexpr ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::tensor_descriptor ( const Transforms & transforms,
ElementSpaceSize element_space_size )
inlineconstexpr

◆ tensor_descriptor() [3/3]

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
CK_TILE_HOST_DEVICE constexpr ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::tensor_descriptor ( const Base & adaptor,
ElementSpaceSize element_space_size )
inlineconstexpr

Member Function Documentation

◆ calculate_offset()

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
template<typename Idx>
CK_TILE_HOST_DEVICE constexpr index_t ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::calculate_offset ( const Idx & idx) const
inlineconstexpr

◆ get_element_space_size()

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::get_element_space_size ( ) const
inlineconstexpr

◆ get_length()

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
template<index_t IDim>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::get_length ( number< IDim > idim) const
inlineconstexpr

◆ get_lengths()

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::get_lengths ( ) const
inlineconstexpr

◆ get_lower_dimension_hidden_idss()

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::get_lower_dimension_hidden_idss ( )
inlinestaticconstexpr

◆ get_num_of_dimension()

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
CK_TILE_HOST_DEVICE constexpr index_t ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::get_num_of_dimension ( )
inlinestaticconstexpr

◆ get_top_dimension_hidden_ids()

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::get_top_dimension_hidden_ids ( )
inlinestaticconstexpr

◆ get_top_dimension_safe_vector_length_strides()

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
template<index_t Internal = 0>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::get_top_dimension_safe_vector_length_strides ( )
inlinestaticconstexpr

◆ get_transforms()

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
CK_TILE_HOST_DEVICE constexpr const auto & ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::get_transforms ( ) const
inlineconstexpr

◆ get_upper_dimension_hidden_idss()

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::get_upper_dimension_hidden_idss ( )
inlinestaticconstexpr

◆ is_known_at_compile_time()

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
CK_TILE_HOST_DEVICE constexpr bool ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::is_known_at_compile_time ( )
inlinestaticconstexpr

◆ is_static()

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
CK_TILE_HOST_DEVICE constexpr bool ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::is_static ( )
inlinestaticconstexpr

Member Data Documentation

◆ element_space_size_

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
ElementSpaceSize ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::element_space_size_

◆ ndim_hidden_

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
index_t ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::ndim_hidden_ = Base::get_num_of_hidden_dimension()
staticconstexpr

◆ ndim_top_

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
index_t ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::ndim_top_ = Base::get_num_of_top_dimension()
staticconstexpr

◆ ntransform_

template<typename Transforms, typename LowerDimensionHiddenIdss, typename UpperDimensionHiddenIdss, typename TopDimensionHiddenIds, typename ElementSpaceSize, typename GuaranteedVectorLengths_, typename GuaranteedVectorSrides_>
index_t ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::ntransform_ = Base::get_num_of_transform()
staticconstexpr

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