cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ > Class Template Reference

Template for reading and writing tiles of accumulators to shared memory.

`#include <tile_iterator_simt.h>`

## Public Types

using | WarpShape = WarpShape_
using | Operator = Operator_
using | Element = Element_
using | Layout = layout::RowMajor
using | TensorRef = TensorRef< Element, Layout >
| Tensor Reference object. More...
using | TensorCoord = MatrixCoord
| Logical coordinate in referenced tensor. More...
using | Index = typename TensorRef::Index
using | LongIndex = typename TensorRef::LongIndex
using | Policy = SimtPolicy< WarpShape, Operator, Layout, MmaSimtPolicy_ >
using | Shape = MatrixShape< Policy::kRowsPerIteration, WarpShape::kN >
| Shape of the tile in memory. More...
using | Fragment = Array< typename Operator::ElementC, Policy::kElementsPerIteration >
| This is the fragment size produced by one access of the iterator. More...
using | AccumulatorTile = Array< typename Operator::ElementC, Policy::kAccumulatorElementCount >
| This is the complete warp-level accumulator tile. More...
using | Padding = MatrixShape< 0, 4 *Policy::kElementsPerAccess >
| Padding quantity. More...

## Public Member Functions

CUTLASS_HOST_DEVICE | TileIteratorSimt ()
| Default constructor. More...
CUTLASS_HOST_DEVICE | TileIteratorSimt (TensorRef const &ref, unsigned lane_id)
| Constructor from TensorRef. More...
CUTLASS_HOST_DEVICE TileIteratorSimt & | add_pointer_offset (Index pointer_offset)
| Adds a pointer offset. More...
CUTLASS_HOST_DEVICE TileIteratorSimt & | add_tile_offset (TensorCoord const &tile_offset)
| advances in units of whole tiles along the logical coordinate space of the tensor More...
CUTLASS_HOST_DEVICE TileIteratorSimt & | operator+= (TensorCoord const &tile_offset)
CUTLASS_HOST_DEVICE void | store_with_pointer_offset (Fragment const &frag, Index pointer_offset)
| Store. More...
CUTLASS_HOST_DEVICE void | store (Fragment const &frag)
| Store. More...
CUTLASS_HOST_DEVICE void | load_with_pointer_offset (Fragment &frag, Index pointer_offset) const
| Load. More...
CUTLASS_HOST_DEVICE void | load (Fragment &frag) const
| Load. More...

## Static Public Attributes

static int const | kIterations = Policy::kIterations
| Number of times this iterator can be incremented. More...

## Member Typedef Documentation

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::AccumulatorTile = Array< typename Operator::ElementC, Policy::kAccumulatorElementCount>

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::Element = Element_

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::Fragment = Array< typename Operator::ElementC, Policy::kElementsPerIteration>

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::Index = typename TensorRef::Index

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::Layout = layout::RowMajor

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::LongIndex = typename TensorRef::LongIndex

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::Operator = Operator_

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::Padding = MatrixShape< 0, 4 * Policy::kElementsPerAccess>

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::Policy = SimtPolicy<WarpShape, Operator, Layout, MmaSimtPolicy_>

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::Shape = MatrixShape< Policy::kRowsPerIteration, WarpShape::kN >

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::TensorCoord = MatrixCoord

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::TensorRef = TensorRef<Element, Layout>

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

using cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::WarpShape = WarpShape_

## Constructor & Destructor Documentation

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

CUTLASS_HOST_DEVICE cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::TileIteratorSimt | ( |  | ) |

inline

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

CUTLASS_HOST_DEVICE cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::TileIteratorSimt | ( | TensorRef const & | ref,
|  | unsigned | lane_id
| ) |  |

inline

## Member Function Documentation

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

CUTLASS_HOST_DEVICE TileIteratorSimt& cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::add_pointer_offset | ( | Index | pointer_offset | ) |

inline

advances in units of whole tiles along the logical coordinate space of the tensor

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

CUTLASS_HOST_DEVICE TileIteratorSimt& cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::add_tile_offset | ( | TensorCoord const & | tile_offset | ) |

inline

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

CUTLASS_HOST_DEVICE void cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::load | ( | Fragment & | frag | ) | const

inline

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

CUTLASS_HOST_DEVICE void cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::load_with_pointer_offset | ( | Fragment & | frag,
|  | Index | pointer_offset
| ) |  | const

inline

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

CUTLASS_HOST_DEVICE TileIteratorSimt& cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::operator+= | ( | TensorCoord const & | tile_offset | ) |

inline

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

CUTLASS_HOST_DEVICE void cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::store | ( | Fragment const & | frag | ) |

inline

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

CUTLASS_HOST_DEVICE void cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::store_with_pointer_offset | ( | Fragment const & | frag,
|  | Index | pointer_offset
| ) |  |

inline

## Member Data Documentation

template<typename WarpShape_ , typename Operator_ , typename Element_ , typename MmaSimtPolicy_ >

int const cutlass::epilogue::warp::TileIteratorSimt< WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ >::kIterations = Policy::kIterations

static

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

- tile_iterator_simt.h