tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ > Struct Template Reference

tile_distribution&lt; PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ > Struct Template Reference
ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ > Struct Template Reference

#include <tile_distribution.hpp>

Public Types

using PsYs2XsAdaptor = remove_cvref_t< PsYs2XsAdaptor_ >
 
using Ys2DDescriptor = remove_cvref_t< Ys2DDescriptor_ >
 
using DstrEncode = remove_cvref_t< StaticTileDistributionEncoding_ >
 
using DstrDetail = remove_cvref_t< TileDistributionDetail_ >
 

Public Member Functions

constexpr CK_TILE_HOST_DEVICE const auto & get_ps_ys_to_xs_adaptor () const
 
constexpr CK_TILE_HOST_DEVICE const auto & get_ys_to_d_descriptor () const
 
template<typename PartitionIndex >
CK_TILE_HOST_DEVICE auto calculate_rs_index_from_ps_index (const PartitionIndex &ps_idx) const
 
template<typename PartitionIndex = decltype(_get_partition_index())>
CK_TILE_HOST_DEVICE auto calculate_index (const PartitionIndex &ps_idx=_get_partition_index()) const
 
CK_TILE_HOST_DEVICE void print () const
 

Static Public Member Functions

static constexpr CK_TILE_HOST_DEVICE index_t get_num_of_dimension_x ()
 
static constexpr CK_TILE_HOST_DEVICE index_t get_num_of_dimension_y ()
 
static constexpr CK_TILE_HOST_DEVICE index_t get_num_of_dimension_p ()
 
static constexpr CK_TILE_HOST_DEVICE index_t get_num_of_dimension_r ()
 
static CK_TILE_HOST_DEVICE auto _get_partition_index ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_lengths ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_static_tile_distribution_encoding ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_distributed_spans ()
 
template<typename DistributedIndices >
static constexpr CK_TILE_HOST_DEVICE auto get_y_indices_from_distributed_indices (DistributedIndices)
 
static constexpr CK_TILE_HOST_DEVICE bool is_static ()
 

Public Attributes

PsYs2XsAdaptor ps_ys_to_xs_
 
Ys2DDescriptor ys_to_d_
 

Static Public Attributes

static constexpr index_t NDimX = PsYs2XsAdaptor::get_num_of_bottom_dimension()
 
static constexpr index_t NDimY = Ys2DDescriptor::get_num_of_top_dimension()
 
static constexpr index_t NDimP = PsYs2XsAdaptor::get_num_of_top_dimension() - NDimY
 
static constexpr index_t NDimR = StaticTileDistributionEncoding_::NDimR
 

Member Typedef Documentation

◆ DstrDetail

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
using ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::DstrDetail = remove_cvref_t<TileDistributionDetail_>

◆ DstrEncode

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
using ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::DstrEncode = remove_cvref_t<StaticTileDistributionEncoding_>

◆ PsYs2XsAdaptor

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
using ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::PsYs2XsAdaptor = remove_cvref_t<PsYs2XsAdaptor_>

◆ Ys2DDescriptor

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
using ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::Ys2DDescriptor = remove_cvref_t<Ys2DDescriptor_>

Member Function Documentation

◆ _get_partition_index()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
static CK_TILE_HOST_DEVICE auto ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::_get_partition_index ( )
inlinestatic

◆ calculate_index()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
template<typename PartitionIndex = decltype(_get_partition_index())>
CK_TILE_HOST_DEVICE auto ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::calculate_index ( const PartitionIndex &  ps_idx = _get_partition_index()) const
inline

◆ calculate_rs_index_from_ps_index()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
template<typename PartitionIndex >
CK_TILE_HOST_DEVICE auto ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::calculate_rs_index_from_ps_index ( const PartitionIndex &  ps_idx) const
inline

◆ get_distributed_spans()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::get_distributed_spans ( )
inlinestaticconstexpr

◆ get_lengths()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::get_lengths ( )
inlinestaticconstexpr

◆ get_num_of_dimension_p()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
static constexpr CK_TILE_HOST_DEVICE index_t ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::get_num_of_dimension_p ( )
inlinestaticconstexpr

◆ get_num_of_dimension_r()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
static constexpr CK_TILE_HOST_DEVICE index_t ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::get_num_of_dimension_r ( )
inlinestaticconstexpr

◆ get_num_of_dimension_x()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
static constexpr CK_TILE_HOST_DEVICE index_t ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::get_num_of_dimension_x ( )
inlinestaticconstexpr

◆ get_num_of_dimension_y()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
static constexpr CK_TILE_HOST_DEVICE index_t ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::get_num_of_dimension_y ( )
inlinestaticconstexpr

◆ get_ps_ys_to_xs_adaptor()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
constexpr CK_TILE_HOST_DEVICE const auto& ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::get_ps_ys_to_xs_adaptor ( ) const
inlineconstexpr

◆ get_static_tile_distribution_encoding()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::get_static_tile_distribution_encoding ( )
inlinestaticconstexpr

◆ get_y_indices_from_distributed_indices()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
template<typename DistributedIndices >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::get_y_indices_from_distributed_indices ( DistributedIndices  )
inlinestaticconstexpr

◆ get_ys_to_d_descriptor()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
constexpr CK_TILE_HOST_DEVICE const auto& ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::get_ys_to_d_descriptor ( ) const
inlineconstexpr

◆ is_static()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
static constexpr CK_TILE_HOST_DEVICE bool ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::is_static ( )
inlinestaticconstexpr

◆ print()

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
CK_TILE_HOST_DEVICE void ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::print ( ) const
inline

Member Data Documentation

◆ NDimP

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
constexpr index_t ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::NDimP = PsYs2XsAdaptor::get_num_of_top_dimension() - NDimY
staticconstexpr

◆ NDimR

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
constexpr index_t ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::NDimR = StaticTileDistributionEncoding_::NDimR
staticconstexpr

◆ NDimX

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
constexpr index_t ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::NDimX = PsYs2XsAdaptor::get_num_of_bottom_dimension()
staticconstexpr

◆ NDimY

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
constexpr index_t ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::NDimY = Ys2DDescriptor::get_num_of_top_dimension()
staticconstexpr

◆ ps_ys_to_xs_

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
PsYs2XsAdaptor ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::ps_ys_to_xs_

◆ ys_to_d_

template<typename PsYs2XsAdaptor_ , typename Ys2DDescriptor_ , typename StaticTileDistributionEncoding_ , typename TileDistributionDetail_ >
Ys2DDescriptor ck_tile::tile_distribution< PsYs2XsAdaptor_, Ys2DDescriptor_, StaticTileDistributionEncoding_, TileDistributionDetail_ >::ys_to_d_

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/tile_distribution.hpp