static_distributed_tensor< DataType_, StaticTileDistribution_ > Struct Template Reference

static_distributed_tensor&lt; DataType_, StaticTileDistribution_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ > Struct Template Reference
ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ > Struct Template Reference

#include <static_distributed_tensor.hpp>

Public Types

using DataType = remove_cvref_t< DataType_ >
 
using StaticTileDistribution = remove_cvref_t< StaticTileDistribution_ >
 
using ThreadTensorDesc = remove_cvref_t< decltype(StaticTileDistribution{}.get_ys_to_d_descriptor())>
 

Public Member Functions

CK_TILE_HOST_DEVICE void initialize (const DataType &x)
 
constexpr CK_TILE_HOST_DEVICE const auto & get_thread_buffer () const
 
constexpr CK_TILE_HOST_DEVICE auto & get_thread_buffer ()
 
template<index_t... YSliceOrigins, index_t... YSliceLengths>
CK_TILE_HOST_DEVICE auto get_y_sliced_thread_data (sequence< YSliceOrigins... >, sequence< YSliceLengths... >) const
 
template<index_t... YSliceOrigins, index_t... YSliceLengths, typename SlicedThreadData >
CK_TILE_HOST_DEVICE void set_y_sliced_thread_data (sequence< YSliceOrigins... >, sequence< YSliceLengths... >, const SlicedThreadData &sliced_thread_data)
 
template<typename TileDistributedIndices >
constexpr CK_TILE_HOST_DEVICE const DataTypeoperator[] (TileDistributedIndices) const
 
template<typename TileDistributedIndices >
constexpr CK_TILE_HOST_DEVICE DataTypeoperator() (TileDistributedIndices)
 

Static Public Member Functions

static constexpr CK_TILE_HOST_DEVICE auto get_num_of_dimension ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_lengths ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_tile_distribution ()
 
static constexpr CK_TILE_HOST_DEVICE auto get_distributed_spans ()
 
static constexpr CK_TILE_HOST_DEVICE index_t get_thread_buffer_size ()
 

Public Attributes

thread_buffer< DataType, kThreadElementSpaceSizethread_buf_
 

Static Public Attributes

static constexpr index_t kThreadElementSpaceSize = ThreadTensorDesc{}.get_element_space_size()
 

Member Typedef Documentation

◆ DataType

template<typename DataType_ , typename StaticTileDistribution_ >
using ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::DataType = remove_cvref_t<DataType_>

◆ StaticTileDistribution

template<typename DataType_ , typename StaticTileDistribution_ >
using ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::StaticTileDistribution = remove_cvref_t<StaticTileDistribution_>

◆ ThreadTensorDesc

template<typename DataType_ , typename StaticTileDistribution_ >
using ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::ThreadTensorDesc = remove_cvref_t<decltype(StaticTileDistribution{}.get_ys_to_d_descriptor())>

Member Function Documentation

◆ get_distributed_spans()

template<typename DataType_ , typename StaticTileDistribution_ >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::get_distributed_spans ( )
inlinestaticconstexpr

◆ get_lengths()

template<typename DataType_ , typename StaticTileDistribution_ >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::get_lengths ( )
inlinestaticconstexpr

◆ get_num_of_dimension()

template<typename DataType_ , typename StaticTileDistribution_ >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::get_num_of_dimension ( )
inlinestaticconstexpr

◆ get_thread_buffer() [1/2]

template<typename DataType_ , typename StaticTileDistribution_ >
constexpr CK_TILE_HOST_DEVICE auto& ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::get_thread_buffer ( )
inlineconstexpr

◆ get_thread_buffer() [2/2]

template<typename DataType_ , typename StaticTileDistribution_ >
constexpr CK_TILE_HOST_DEVICE const auto& ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::get_thread_buffer ( ) const
inlineconstexpr

◆ get_thread_buffer_size()

template<typename DataType_ , typename StaticTileDistribution_ >
static constexpr CK_TILE_HOST_DEVICE index_t ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::get_thread_buffer_size ( )
inlinestaticconstexpr

◆ get_tile_distribution()

template<typename DataType_ , typename StaticTileDistribution_ >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::get_tile_distribution ( )
inlinestaticconstexpr

◆ get_y_sliced_thread_data()

template<typename DataType_ , typename StaticTileDistribution_ >
template<index_t... YSliceOrigins, index_t... YSliceLengths>
CK_TILE_HOST_DEVICE auto ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::get_y_sliced_thread_data ( sequence< YSliceOrigins... >  ,
sequence< YSliceLengths... >   
) const
inline

◆ initialize()

template<typename DataType_ , typename StaticTileDistribution_ >
CK_TILE_HOST_DEVICE void ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::initialize ( const DataType x)
inline

◆ operator()()

template<typename DataType_ , typename StaticTileDistribution_ >
template<typename TileDistributedIndices >
constexpr CK_TILE_HOST_DEVICE DataType& ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::operator() ( TileDistributedIndices  )
inlineconstexpr

◆ operator[]()

template<typename DataType_ , typename StaticTileDistribution_ >
template<typename TileDistributedIndices >
constexpr CK_TILE_HOST_DEVICE const DataType& ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::operator[] ( TileDistributedIndices  ) const
inlineconstexpr

◆ set_y_sliced_thread_data()

template<typename DataType_ , typename StaticTileDistribution_ >
template<index_t... YSliceOrigins, index_t... YSliceLengths, typename SlicedThreadData >
CK_TILE_HOST_DEVICE void ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::set_y_sliced_thread_data ( sequence< YSliceOrigins... >  ,
sequence< YSliceLengths... >  ,
const SlicedThreadData &  sliced_thread_data 
)
inline

Member Data Documentation

◆ kThreadElementSpaceSize

template<typename DataType_ , typename StaticTileDistribution_ >
constexpr index_t ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::kThreadElementSpaceSize = ThreadTensorDesc{}.get_element_space_size()
staticconstexpr

◆ thread_buf_

template<typename DataType_ , typename StaticTileDistribution_ >
thread_buffer<DataType, kThreadElementSpaceSize> ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::thread_buf_

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