CUTLASS: cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor > Class Template Reference

| CUTLASS CUDA Templates for Linear Algebra Subroutines and Solvers

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | List of all members
cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor > Class Template Reference

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

`#include <tile_iterator_wmma_tensor_op.h>`

## Public Types
using | WarpShape = WarpShape_
using | OperatorShape = OperatorShape_
using | OperatorFragment = OperatorFragment_
using | Layout = layout::RowMajor
using | WmmaDataType = typename OperatorFragment::element_type
using | Element = typename cutlass::arch::WmmaToCutlassDataType< WmmaDataType >::Type
| Data Type of element stored in nvcuda::wmma::frament. More...
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 = WmmaTensorOpPolicy< WarpShape, OperatorShape, Layout >
using | Shape = MatrixShape< Policy::kRowsPerIteration, WarpShape::kN >
| Shape of the tile in memory. More...
using | Fragment = WmmaFragmentArray< OperatorFragment, Policy::OperatorCount::kColumn *Policy::kWmmaFragmentsPerAccess >
| This is the fragment size produced by one access of the iterator. More...
using | Padding = MatrixShape< 0, 4 *Policy::kElementsPerAccess >
| This is the complete warp-level accumulator tile. More...

## Public Member Functions
CUTLASS_HOST_DEVICE | TileIteratorWmmaTensorOp ()
| Default constructor. More...
CUTLASS_HOST_DEVICE | TileIteratorWmmaTensorOp (TensorRef const &ref, unsigned lane_id)
| Constructor from TensorRef. More...
CUTLASS_HOST_DEVICE TileIteratorWmmaTensorOp & | add_pointer_offset (Index pointer_offset)
| Adds a pointer offset. More...
CUTLASS_HOST_DEVICE TileIteratorWmmaTensorOp & | 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 TileIteratorWmmaTensorOp & | 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...

## Member Typedef Documentation

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Element = typename cutlass::arch::WmmaToCutlassDataType<WmmaDataType>::Type

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Fragment = WmmaFragmentArray<OperatorFragment, Policy::OperatorCount::kColumn * Policy::kWmmaFragmentsPerAccess>

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Index = typename TensorRef::Index

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Layout = layout::RowMajor

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::LongIndex = typename TensorRef::LongIndex

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::OperatorFragment = OperatorFragment_

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::OperatorShape = OperatorShape_

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Padding = MatrixShape< 0, 4 * Policy::kElementsPerAccess >

Padding quantity

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Policy = WmmaTensorOpPolicy<WarpShape, OperatorShape, Layout>

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Shape = MatrixShape< Policy::kRowsPerIteration, WarpShape::kN >

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::TensorCoord = MatrixCoord

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::TensorRef = TensorRef<Element, Layout>

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::WarpShape = WarpShape_

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::WmmaDataType = typename OperatorFragment::element_type

## Constructor & Destructor Documentation

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

CUTLASS_HOST_DEVICE cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::TileIteratorWmmaTensorOp | ( |  | ) |
| inline

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

CUTLASS_HOST_DEVICE cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::TileIteratorWmmaTensorOp | ( | TensorRef const & | ref,
|  | unsigned | lane_id
| ) |  |
| inline

## Member Function Documentation

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

CUTLASS_HOST_DEVICE TileIteratorWmmaTensorOp& cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::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 OperatorShape_ , typename OperatorFragment_ >

CUTLASS_HOST_DEVICE TileIteratorWmmaTensorOp& cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::add_tile_offset | ( | TensorCoord const & | tile_offset | ) |
| inline

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

CUTLASS_HOST_DEVICE void cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::load | ( | Fragment & | frag | ) | const
| inline

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

CUTLASS_HOST_DEVICE void cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::load_with_pointer_offset | ( | Fragment & | frag,
|  | Index | pointer_offset
| ) |  | const
| inline

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

CUTLASS_HOST_DEVICE TileIteratorWmmaTensorOp& cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::operator+= | ( | TensorCoord const & | tile_offset | ) |
| inline

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

CUTLASS_HOST_DEVICE void cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::store | ( | Fragment const & | frag | ) |
| inline

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorFragment_ >

CUTLASS_HOST_DEVICE void cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::store_with_pointer_offset | ( | Fragment const & | frag,
|  | Index | pointer_offset
| ) |  |
| inline

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

- tile_iterator_wmma_tensor_op.h