OffsettedTile1DPartitioner< TilePartitioner, typename > Struct Template Reference

OffsettedTile1DPartitioner&lt; TilePartitioner, typename &gt; Struct Template Reference#

Composable Kernel: ck_tile::OffsettedTile1DPartitioner< TilePartitioner, typename > Struct Template Reference
ck_tile::OffsettedTile1DPartitioner< TilePartitioner, typename > Struct Template Reference

Struct used to calculate offseted tile indexes. More...

#include <gemm_tile_partitioner.hpp>

Static Public Member Functions

static CK_TILE_DEVICE auto GetOffsetedTileIndex (index_t block_start, index_t M, index_t N) noexcept -> const tuple< index_t, index_t >
 The function subtracts the block's start (offset) from 1D raw-indexes.
static CK_TILE_DEVICE auto GetOffsetedTileIndex (index_t block_start, index_t M, index_t N, index_t block_idx) noexcept -> const tuple< index_t, index_t >
 The function subtracts the block's start (offset) from a given block index.

Detailed Description

template<typename TilePartitioner, typename = typename std::enable_if_t<HasFnOneArgImpl<TilePartitioner>{}>>
struct ck_tile::OffsettedTile1DPartitioner< TilePartitioner, typename >

Struct used to calculate offseted tile indexes.

Note
: The struct supports the 1D-Partitioner mechanism, enable-if GetOutputTileIndex-fn is std::true_type when GetOutputTileIndex-fn is well-formed, otherwise std::false_type.

Member Function Documentation

◆ GetOffsetedTileIndex() [1/2]

template<typename TilePartitioner, typename = typename std::enable_if_t<HasFnOneArgImpl<TilePartitioner>{}>>
CK_TILE_DEVICE auto ck_tile::OffsettedTile1DPartitioner< TilePartitioner, typename >::GetOffsetedTileIndex ( index_t block_start,
index_t M,
index_t N )->consttuple< index_t, index_t >
inlinestaticnodiscardnoexcept

The function subtracts the block's start (offset) from 1D raw-indexes.

Parameters
[in]block_startWorkgroup offset.
[in]MGemm's M dimension.
[in]NGemm's N dimension.
Returns
Returns a tuple [Im, In] with shifted index.

◆ GetOffsetedTileIndex() [2/2]

template<typename TilePartitioner, typename = typename std::enable_if_t<HasFnOneArgImpl<TilePartitioner>{}>>
CK_TILE_DEVICE auto ck_tile::OffsettedTile1DPartitioner< TilePartitioner, typename >::GetOffsetedTileIndex ( index_t block_start,
index_t M,
index_t N,
index_t block_idx )->consttuple< index_t, index_t >
inlinestaticnodiscardnoexcept

The function subtracts the block's start (offset) from a given block index.

Parameters
[in]block_startWorkgroup offset.
[in]MGemm's M dimension.
[in]NGemm's N dimension.
[in]block_idxCurrent block index of the workgroup.
Returns
Returns a tuple [Im, In] with shifted index.

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