embed< UpLengths, Coefficients, type > Struct Template Reference

embed&lt; UpLengths, Coefficients, type &gt; Struct Template Reference#

Composable Kernel: ck_tile::embed< UpLengths, Coefficients, type > Struct Template Reference
ck_tile::embed< UpLengths, Coefficients, type > Struct Template Reference

#include <coordinate_transform.hpp>

Inheritance diagram for ck_tile::embed< UpLengths, Coefficients, type >:
ck_tile::base_transform< 1, UpLengths::size()>

Public Types

using LowerIndex = multi_index< 1 >
 
using UpperIndex = multi_index< NDimUp >
 

Public Member Functions

constexpr CK_TILE_HOST_DEVICE embed ()=default
 
constexpr CK_TILE_HOST_DEVICE embed (const UpLengths &up_lengths, const Coefficients &coefficients)
 
constexpr CK_TILE_HOST_DEVICE const auto & get_upper_lengths () const
 
template<typename LowIdx , typename UpIdx >
constexpr CK_TILE_HOST_DEVICE void calculate_lower_index (LowIdx &idx_low, const UpIdx &idx_up) const
 
template<typename LowIdxDiff , typename UpIdxDiff , typename LowIdx , typename UpIdx >
CK_TILE_HOST_DEVICE void update_lower_index (LowIdxDiff &idx_diff_low, const UpIdxDiff &idx_diff_up, LowIdx &idx_low, const UpIdx &) const
 
CK_TILE_HOST_DEVICE void print () const
 

Static Public Member Functions

static constexpr CK_TILE_HOST_DEVICE auto get_type_enum ()
 
static constexpr CK_TILE_HOST_DEVICE bool is_valid_upper_index_always_mapped_to_valid_lower_index ()
 
template<typename UpIdx >
static constexpr CK_TILE_HOST_DEVICE bool is_valid_upper_index_mapped_to_valid_lower_index (const UpIdx &)
 
static constexpr CK_TILE_HOST_DEVICE bool is_known_at_compile_time ()
 
- Static Public Member Functions inherited from ck_tile::base_transform< 1, UpLengths::size()>
static constexpr CK_TILE_HOST_DEVICE auto get_type_enum ()
 
static constexpr CK_TILE_HOST_DEVICE index_t get_num_of_lower_dimension ()
 
static constexpr CK_TILE_HOST_DEVICE index_t get_num_of_upper_dimension ()
 
static constexpr CK_TILE_HOST_DEVICE auto calculate_upper_dimension_safe_vector_length_strides (const LowVectorLengths &, const LowVectorStrides &)
 

Public Attributes

UpLengths up_lengths_
 
Coefficients coefficients_
 

Static Public Attributes

static constexpr index_t NDimUp = UpLengths::size()
 

Member Typedef Documentation

◆ LowerIndex

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
using ck_tile::embed< UpLengths, Coefficients, type >::LowerIndex = multi_index<1>

◆ UpperIndex

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
using ck_tile::embed< UpLengths, Coefficients, type >::UpperIndex = multi_index<NDimUp>

Constructor & Destructor Documentation

◆ embed() [1/2]

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
constexpr CK_TILE_HOST_DEVICE ck_tile::embed< UpLengths, Coefficients, type >::embed ( )
constexprdefault

◆ embed() [2/2]

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
constexpr CK_TILE_HOST_DEVICE ck_tile::embed< UpLengths, Coefficients, type >::embed ( const UpLengths &  up_lengths,
const Coefficients &  coefficients 
)
inlineconstexpr

Member Function Documentation

◆ calculate_lower_index()

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
template<typename LowIdx , typename UpIdx >
constexpr CK_TILE_HOST_DEVICE void ck_tile::embed< UpLengths, Coefficients, type >::calculate_lower_index ( LowIdx &  idx_low,
const UpIdx &  idx_up 
) const
inlineconstexpr

◆ get_type_enum()

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::embed< UpLengths, Coefficients, type >::get_type_enum ( )
inlinestaticconstexpr

◆ get_upper_lengths()

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
constexpr CK_TILE_HOST_DEVICE const auto& ck_tile::embed< UpLengths, Coefficients, type >::get_upper_lengths ( ) const
inlineconstexpr

◆ is_known_at_compile_time()

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
static constexpr CK_TILE_HOST_DEVICE bool ck_tile::embed< UpLengths, Coefficients, type >::is_known_at_compile_time ( )
inlinestaticconstexpr

◆ is_valid_upper_index_always_mapped_to_valid_lower_index()

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
static constexpr CK_TILE_HOST_DEVICE bool ck_tile::embed< UpLengths, Coefficients, type >::is_valid_upper_index_always_mapped_to_valid_lower_index ( )
inlinestaticconstexpr

◆ is_valid_upper_index_mapped_to_valid_lower_index()

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
template<typename UpIdx >
static constexpr CK_TILE_HOST_DEVICE bool ck_tile::embed< UpLengths, Coefficients, type >::is_valid_upper_index_mapped_to_valid_lower_index ( const UpIdx &  )
inlinestaticconstexpr

◆ print()

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
CK_TILE_HOST_DEVICE void ck_tile::embed< UpLengths, Coefficients, type >::print ( ) const
inline

◆ update_lower_index()

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
template<typename LowIdxDiff , typename UpIdxDiff , typename LowIdx , typename UpIdx >
CK_TILE_HOST_DEVICE void ck_tile::embed< UpLengths, Coefficients, type >::update_lower_index ( LowIdxDiff &  idx_diff_low,
const UpIdxDiff &  idx_diff_up,
LowIdx &  idx_low,
const UpIdx &   
) const
inline

Member Data Documentation

◆ coefficients_

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
Coefficients ck_tile::embed< UpLengths, Coefficients, type >::coefficients_

◆ NDimUp

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
constexpr index_t ck_tile::embed< UpLengths, Coefficients, type >::NDimUp = UpLengths::size()
staticconstexpr

◆ up_lengths_

template<typename UpLengths , typename Coefficients , typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
UpLengths ck_tile::embed< UpLengths, Coefficients, type >::up_lengths_

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/algorithm/coordinate_transform.hpp