CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Types | Public Member Functions | Static Public Attributes | List of all members
cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment > Class Template Reference

Regular tile iterator specialized for interleaved layout + 2d thread-tiled threadmapping.

#include <regular_tile_iterator_pitch_linear_2dthreadtile.h>

Public Types

using Shape = Shape_
 
using Element = Element_
 
using Layout = layout::RowMajorInterleaved< 4 >
 
using ThreadMap = ThreadMap_
 
using Index = typename Layout::Index
 
using LongIndex = typename Layout::LongIndex
 
using TensorRef = TensorRef< Element, Layout >
 
using TensorCoord = typename Layout::TensorCoord
 
using Fragment = Array< Element, ThreadMap::Iterations::kCount *ThreadMap::ThreadAccessShape::kCount >
 
using Underlying = RegularTileIterator2dThreadTile< layout::PitchLinearShape< Shape::kColumn, Shape::kRow >, Element, layout::PitchLinear,(kAdvanceRank==0?1:0), ThreadMap, kAlignment >
 

Public Member Functions

CUTLASS_DEVICE RegularTileIterator2dThreadTile ()
 
CUTLASS_DEVICE RegularTileIterator2dThreadTile (TensorRef const &ref, int thread_idx)
 
CUTLASS_HOST_DEVICE void load_with_pointer_offset (Fragment &frag, Index pointer_offset)
 Loads a fragment. More...
 
CUTLASS_HOST_DEVICE void load (Fragment &frag, TensorCoord const &tile_offset)
 Loads a fragment. More...
 
CUTLASS_HOST_DEVICE void load (Fragment &frag)
 Loads a fragment. More...
 
CUTLASS_HOST_DEVICE void store_with_pointer_offset (Fragment const &frag, Index pointer_offset)
 Stores a fragment. More...
 
CUTLASS_HOST_DEVICE void store (Fragment const &frag, TensorCoord const &tile_offset)
 Stores a fragment. More...
 
CUTLASS_HOST_DEVICE void store (Fragment const &frag)
 Stores a fragment. More...
 
CUTLASS_HOST_DEVICE RegularTileIterator2dThreadTileoperator++ ()
 Advances the pointer. More...
 
CUTLASS_HOST_DEVICE RegularTileIterator2dThreadTileoperator-- ()
 Advances the pointer. More...
 
CUTLASS_HOST_DEVICE void add_pointer_offset (LongIndex pointer_offset)
 Adds a pointer offset in units of Element. More...
 
CUTLASS_DEVICE void add_tile_offset (TensorCoord const &coord)
 Adds a tile offset. More...
 

Static Public Attributes

static int const kAdvanceRank = AdvanceRank
 
static int const kAlignment = Alignment
 

Member Typedef Documentation

template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::Element = Element_
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::Fragment = Array<Element, ThreadMap::Iterations::kCount * ThreadMap::ThreadAccessShape::kCount>
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::Index = typename Layout::Index
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::Layout = layout::RowMajorInterleaved<4>
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::LongIndex = typename Layout::LongIndex
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::Shape = Shape_
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::TensorCoord = typename Layout::TensorCoord
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::TensorRef = TensorRef<Element, Layout>
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::ThreadMap = ThreadMap_
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::Underlying = RegularTileIterator2dThreadTile< layout::PitchLinearShape<Shape::kColumn, Shape::kRow>, Element, layout::PitchLinear, (kAdvanceRank == 0 ? 1 : 0), ThreadMap, kAlignment >

Constructor & Destructor Documentation

template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
CUTLASS_DEVICE cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::RegularTileIterator2dThreadTile ( )
inline
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
CUTLASS_DEVICE cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::RegularTileIterator2dThreadTile ( TensorRef const &  ref,
int  thread_idx 
)
inline

Member Function Documentation

template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
CUTLASS_HOST_DEVICE void cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::add_pointer_offset ( LongIndex  pointer_offset)
inline
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
CUTLASS_DEVICE void cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::add_tile_offset ( TensorCoord const &  coord)
inline
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
CUTLASS_HOST_DEVICE void cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::load ( Fragment frag,
TensorCoord const &  tile_offset 
)
inline
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
CUTLASS_HOST_DEVICE void cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::load ( Fragment frag)
inline
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
CUTLASS_HOST_DEVICE void cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::load_with_pointer_offset ( Fragment frag,
Index  pointer_offset 
)
inline
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
CUTLASS_HOST_DEVICE RegularTileIterator2dThreadTile& cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::operator++ ( )
inline
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
CUTLASS_HOST_DEVICE RegularTileIterator2dThreadTile& cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::operator-- ( )
inline
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
CUTLASS_HOST_DEVICE void cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::store ( Fragment const &  frag,
TensorCoord const &  tile_offset 
)
inline
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
CUTLASS_HOST_DEVICE void cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::store ( Fragment const &  frag)
inline
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
CUTLASS_HOST_DEVICE void cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::store_with_pointer_offset ( Fragment const &  frag,
Index  pointer_offset 
)
inline

Member Data Documentation

template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
int const cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::kAdvanceRank = AdvanceRank
static
template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>
int const cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::RowMajorInterleaved< 4 >, AdvanceRank, ThreadMap_, Alignment >::kAlignment = Alignment
static

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