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 = tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, sequence< 0 >, TopDimensionHiddenIds >
 
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 = multi_index< ndim_hidden_ >
 
using BottomIndex = multi_index< ndim_bottom_ >
 
using TopIndex = multi_index< ndim_top_ >
 
using ElementSize = remove_cv_t< decltype(initialize_element_size(Transforms{}))>
 

Public Member Functions

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

Static Public Member Functions

static constexpr CK_TILE_HOST_DEVICE index_t get_num_of_dimension ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_lower_dimension_hidden_idss ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_upper_dimension_hidden_idss ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_top_dimension_hidden_ids ()
 
static constexpr CK_TILE_HOST_DEVICE bool is_static ()
 
static constexpr CK_TILE_HOST_DEVICE bool is_known_at_compile_time ()
 
static constexpr CK_TILE_HOST_DEVICE 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 constexpr CK_TILE_HOST_DEVICE index_t get_num_of_transform ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_lower_dimension_hidden_idss ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_upper_dimension_hidden_idss ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_bottom_dimension_hidden_ids ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_top_dimension_hidden_ids ()
 
static constexpr CK_TILE_HOST_DEVICE auto initialize_element_size (const Transforms &transforms)
 
static constexpr CK_TILE_HOST_DEVICE auto get_transform_and_its_upper_dimension (number< IDimHidden >)
 
static constexpr CK_TILE_HOST_DEVICE index_t get_num_of_bottom_dimension ()
 
static constexpr CK_TILE_HOST_DEVICE index_t get_num_of_top_dimension ()
 
static constexpr CK_TILE_HOST_DEVICE index_t get_num_of_hidden_dimension ()
 
static constexpr CK_TILE_HOST_DEVICE bool is_static ()
 
static constexpr CK_TILE_HOST_DEVICE bool is_known_at_compile_time ()
 
static constexpr CK_TILE_HOST_DEVICE 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

constexpr static index_t ntransform_ = Base::get_num_of_transform()
 
constexpr static index_t ndim_hidden_ = Base::get_num_of_hidden_dimension()
 
constexpr static 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 >
constexpr static index_t ntransform_
 
constexpr static index_t ndim_hidden_
 
constexpr static index_t ndim_bottom_
 
constexpr static 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 = tensor_adaptor<Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, sequence<0>, TopDimensionHiddenIds>

◆ 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_ >
constexpr CK_TILE_HOST_DEVICE 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_ >
constexpr CK_TILE_HOST_DEVICE 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_ >
constexpr CK_TILE_HOST_DEVICE 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 >
constexpr CK_TILE_HOST_DEVICE 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_ >
constexpr CK_TILE_HOST_DEVICE 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>
constexpr CK_TILE_HOST_DEVICE 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_ >
constexpr CK_TILE_HOST_DEVICE 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_ >
static constexpr CK_TILE_HOST_DEVICE 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_ >
static constexpr CK_TILE_HOST_DEVICE 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_ >
static constexpr CK_TILE_HOST_DEVICE 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_ >
static constexpr CK_TILE_HOST_DEVICE 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_ >
constexpr CK_TILE_HOST_DEVICE 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_ >
static constexpr CK_TILE_HOST_DEVICE 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_ >
static constexpr CK_TILE_HOST_DEVICE 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_ >
static constexpr CK_TILE_HOST_DEVICE bool ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::is_static ( )
inlinestaticconstexpr

◆ print()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename TopDimensionHiddenIds , typename ElementSpaceSize , typename GuaranteedVectorLengths_ , typename GuaranteedVectorSrides_ >
CK_TILE_HOST_DEVICE void ck_tile::tensor_descriptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, TopDimensionHiddenIds, ElementSpaceSize, GuaranteedVectorLengths_, GuaranteedVectorSrides_ >::print ( ) const
inline

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_ >
constexpr static 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_ >
constexpr static 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_ >
constexpr static 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:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/core/tensor/tensor_descriptor.hpp