tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds > Struct Template Reference

tensor_adaptor&lt; Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds &gt; Struct Template Reference#

Composable Kernel: ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds > Struct Template Reference
ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds > Struct Template Reference

#include <tensor_adaptor.hpp>

Public Types

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 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
 
template<index_t IDimHidden>
constexpr CK_TILE_HOST_DEVICE auto get_hidden_dimension_length (number< IDimHidden >) const
 
template<index_t IDimTop>
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
 
template<typename TopIdx >
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_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)
 
template<index_t IDimHidden>
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)
 

Static Public Attributes

constexpr static index_t ntransform_ = get_num_of_transform()
 
constexpr static index_t ndim_hidden_ = get_num_of_hidden_dimension()
 
constexpr static index_t ndim_bottom_ = get_num_of_bottom_dimension()
 
constexpr static index_t ndim_top_ = get_num_of_top_dimension()
 

Member Typedef Documentation

◆ BottomIndex

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
using ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::BottomIndex = multi_index<ndim_bottom_>

◆ ElementSize

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
using ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::ElementSize = remove_cv_t<decltype(initialize_element_size(Transforms{}))>

◆ HiddenIndex

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
using ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::HiddenIndex = multi_index<ndim_hidden_>

◆ TopIndex

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
using ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::TopIndex = multi_index<ndim_top_>

Constructor & Destructor Documentation

◆ tensor_adaptor() [1/2]

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
constexpr CK_TILE_HOST_DEVICE ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::tensor_adaptor ( )
constexprdefault

◆ tensor_adaptor() [2/2]

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
constexpr CK_TILE_HOST_DEVICE ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::tensor_adaptor ( const Transforms &  transforms)
inlineconstexpr

Member Function Documentation

◆ calculate_bottom_index()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
template<typename TopIdx >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::calculate_bottom_index ( const TopIdx &  idx_top) const
inlineconstexpr

◆ get_bottom_dimension_hidden_ids()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_bottom_dimension_hidden_ids ( )
inlinestaticconstexpr

◆ get_element_size()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_element_size ( ) const
inlineconstexpr

◆ get_hidden_dimension_length()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
template<index_t IDimHidden>
constexpr CK_TILE_HOST_DEVICE auto ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_hidden_dimension_length ( number< IDimHidden >  ) const
inlineconstexpr

◆ get_lower_dimension_hidden_idss()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_lower_dimension_hidden_idss ( )
inlinestaticconstexpr

◆ get_num_of_bottom_dimension()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
static constexpr CK_TILE_HOST_DEVICE index_t ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_num_of_bottom_dimension ( )
inlinestaticconstexpr

◆ get_num_of_hidden_dimension()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
static constexpr CK_TILE_HOST_DEVICE index_t ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_num_of_hidden_dimension ( )
inlinestaticconstexpr

◆ get_num_of_top_dimension()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
static constexpr CK_TILE_HOST_DEVICE index_t ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_num_of_top_dimension ( )
inlinestaticconstexpr

◆ get_num_of_transform()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
static constexpr CK_TILE_HOST_DEVICE index_t ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_num_of_transform ( )
inlinestaticconstexpr

◆ get_top_dimension_hidden_ids()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_top_dimension_hidden_ids ( )
inlinestaticconstexpr

◆ get_top_dimension_length()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
template<index_t IDimTop>
constexpr CK_TILE_HOST_DEVICE auto ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_top_dimension_length ( number< IDimTop >  idim_top) const
inlineconstexpr

◆ get_top_dimension_lengths()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_top_dimension_lengths ( ) const
inlineconstexpr

◆ get_top_dimension_safe_vector_length_strides()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::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 
)
inlinestaticconstexpr

◆ get_transform_and_its_upper_dimension()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
template<index_t IDimHidden>
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_transform_and_its_upper_dimension ( number< IDimHidden >  )
inlinestaticconstexpr

◆ get_transforms()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
constexpr CK_TILE_HOST_DEVICE const auto& ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_transforms ( ) const
inlineconstexpr

◆ get_upper_dimension_hidden_idss()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::get_upper_dimension_hidden_idss ( )
inlinestaticconstexpr

◆ initialize_element_size()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::initialize_element_size ( const Transforms &  transforms)
inlinestaticconstexpr

◆ is_known_at_compile_time()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
static constexpr CK_TILE_HOST_DEVICE bool ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::is_known_at_compile_time ( )
inlinestaticconstexpr

◆ is_static()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
static constexpr CK_TILE_HOST_DEVICE bool ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::is_static ( )
inlinestaticconstexpr

◆ print()

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
CK_TILE_HOST_DEVICE void ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::print ( ) const
inline

Member Data Documentation

◆ ndim_bottom_

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
constexpr static index_t ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::ndim_bottom_ = get_num_of_bottom_dimension()
staticconstexpr

◆ ndim_hidden_

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
constexpr static index_t ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::ndim_hidden_ = get_num_of_hidden_dimension()
staticconstexpr

◆ ndim_top_

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
constexpr static index_t ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::ndim_top_ = get_num_of_top_dimension()
staticconstexpr

◆ ntransform_

template<typename Transforms , typename LowerDimensionHiddenIdss , typename UpperDimensionHiddenIdss , typename BottomDimensionHiddenIds , typename TopDimensionHiddenIds >
constexpr static index_t ck_tile::tensor_adaptor< Transforms, LowerDimensionHiddenIdss, UpperDimensionHiddenIdss, BottomDimensionHiddenIds, TopDimensionHiddenIds >::ntransform_ = 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_adaptor.hpp