# CUTLASS: cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::PitchLinear, AdvanceRank, ThreadMap_, Alignment > Class Template Reference

cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::PitchLinear, AdvanceRank, ThreadMap_, Alignment > Class Template Reference

Regular tile iterator specialized for pitch-linear + 2d thread-tiled threadmapping.

`#include <regular_tile_iterator_pitch_linear_2dthreadtile.h>`

## Public Types

using | Shape = Shape_
using | Element = Element_
using | Layout = layout::PitchLinear
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 >

## Public Member Functions

CUTLASS_DEVICE | RegularTileIterator2dThreadTile ()
CUTLASS_DEVICE | RegularTileIterator2dThreadTile (TensorRef const &ref, int thread_idx, int interleave)
CUTLASS_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 RegularTileIterator2dThreadTile & | operator++ ()
| Advances the pointer. More...
CUTLASS_HOST_DEVICE RegularTileIterator2dThreadTile & | operator-- ()
| 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::PitchLinear, AdvanceRank, ThreadMap_, Alignment >::Element = Element_

template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>

using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::PitchLinear, 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::PitchLinear, 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::PitchLinear, AdvanceRank, ThreadMap_, Alignment >::Layout = layout::PitchLinear

template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>

using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::PitchLinear, 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::PitchLinear, AdvanceRank, ThreadMap_, Alignment >::Shape = Shape_

template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>

using cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::PitchLinear, 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::PitchLinear, 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::PitchLinear, AdvanceRank, ThreadMap_, Alignment >::ThreadMap = ThreadMap_

## Constructor & Destructor Documentation

template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>

CUTLASS_DEVICE cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::PitchLinear, 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::PitchLinear, AdvanceRank, ThreadMap_, Alignment >::RegularTileIterator2dThreadTile | ( | TensorRef const & | ref,
|  | int | thread_idx,
|  | int | interleave
| ) |  |

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::PitchLinear, 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::PitchLinear, 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::PitchLinear, 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::PitchLinear, AdvanceRank, ThreadMap_, Alignment >::load | ( | Fragment & | frag | ) |

inline

template<typename Shape_ , typename Element_ , int AdvanceRank, typename ThreadMap_ , int Alignment>

CUTLASS_DEVICE void cutlass::transform::threadblock::RegularTileIterator2dThreadTile< Shape_, Element_, layout::PitchLinear, 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::PitchLinear, 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::PitchLinear, 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::PitchLinear, 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::PitchLinear, 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::PitchLinear, 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::PitchLinear, 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::PitchLinear, AdvanceRank, ThreadMap_, Alignment >::kAlignment = Alignment

static

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

- regular_tile_iterator_pitch_linear_2dthreadtile.h