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

Public Member Functions

CK_TILE_HOST_DEVICE void initialize (const DataType &x)
CK_TILE_HOST_DEVICE constexpr const auto & get_thread_buffer () const
CK_TILE_HOST_DEVICE constexpr 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>
CK_TILE_HOST_DEVICE constexpr const DataTypeoperator[] (TileDistributedIndices) const
template<typename TileDistributedIndices>
CK_TILE_HOST_DEVICE constexpr DataTypeoperator() (TileDistributedIndices)

Static Public Member Functions

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

Public Attributes

thread_buffer< DataType, get_thread_buffer_size()> thread_buf_

Static Public Attributes

static constexpr index_t PackedSize
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
Initial value:
remove_cvref_t<decltype(StaticTileDistribution{}.get_ys_to_d_descriptor())>
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition type_traits.hpp:21
remove_cvref_t< StaticTileDistribution_ > StaticTileDistribution
Definition static_distributed_tensor.hpp:23

Member Function Documentation

◆ get_distributed_spans()

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

◆ get_lengths()

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

◆ get_num_of_dimension()

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

◆ get_thread_buffer() [1/2]

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

◆ get_thread_buffer() [2/2]

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

◆ get_thread_buffer_size()

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

◆ get_tile_distribution()

template<typename DataType_, typename StaticTileDistribution_>
CK_TILE_HOST_DEVICE constexpr 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>
CK_TILE_HOST_DEVICE constexpr DataType & ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::operator() ( TileDistributedIndices )
inlineconstexpr

◆ operator[]()

template<typename DataType_, typename StaticTileDistribution_>
template<typename TileDistributedIndices>
CK_TILE_HOST_DEVICE constexpr 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_>
index_t ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::kThreadElementSpaceSize = ThreadTensorDesc{}.get_element_space_size()
staticconstexpr

◆ PackedSize

template<typename DataType_, typename StaticTileDistribution_>
index_t ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::PackedSize
staticconstexpr
Initial value:
=
Definition tile/core/numeric/numeric.hpp:81
static constexpr index_t PackedSize
Definition static_distributed_tensor.hpp:30

◆ thread_buf_

template<typename DataType_, typename StaticTileDistribution_>
thread_buffer<DataType, get_thread_buffer_size()> ck_tile::static_distributed_tensor< DataType_, StaticTileDistribution_ >::thread_buf_

The documentation for this struct was generated from the following file: