CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
|
Template for reading and writing tiles of accumulators to shared memory.
#include <tile_iterator_tensor_op.h>
Classes | |
struct | Detail |
Public Types | |
using | WarpShape = WarpShape_ |
using | OperatorShape = OperatorShape_ |
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 = TensorOpPolicy< WarpShape, OperatorShape, Layout > |
using | Shape = MatrixShape< Policy::kRowsPerIteration, WarpShape::kN > |
Shape of the tile in memory. More... | |
using | Fragment = Array< Element, Policy::OperatorCount::kColumn *Policy::kElementsPerAccess > |
This is the fragment size produced by one access of the iterator. More... | |
using | Padding = MatrixShape< 0, Detail::kLanesInQuad *Policy::kElementsPerAccess > |
Padding quantity. More... | |
Public Member Functions | |
CUTLASS_HOST_DEVICE | TileIteratorTensorOp () |
Default constructor. More... | |
CUTLASS_HOST_DEVICE | TileIteratorTensorOp (TensorRef const &ref, unsigned lane_id) |
Constructor from TensorRef. More... | |
CUTLASS_HOST_DEVICE TileIteratorTensorOp & | add_pointer_offset (Index pointer_offset) |
Adds a pointer offset. More... | |
CUTLASS_HOST_DEVICE TileIteratorTensorOp & | 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 TileIteratorTensorOp & | 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 |
This is the complete warp-level accumulator tile. More... | |
using cutlass::epilogue::warp::TileIteratorTensorOp< WarpShape_, OperatorShape_, Element_, layout::RowMajor >::Element = Element_ |
using cutlass::epilogue::warp::TileIteratorTensorOp< WarpShape_, OperatorShape_, Element_, layout::RowMajor >::Fragment = Array< Element, Policy::OperatorCount::kColumn * Policy::kElementsPerAccess> |
using cutlass::epilogue::warp::TileIteratorTensorOp< WarpShape_, OperatorShape_, Element_, layout::RowMajor >::Index = typename TensorRef::Index |
using cutlass::epilogue::warp::TileIteratorTensorOp< WarpShape_, OperatorShape_, Element_, layout::RowMajor >::Layout = layout::RowMajor |
using cutlass::epilogue::warp::TileIteratorTensorOp< WarpShape_, OperatorShape_, Element_, layout::RowMajor >::LongIndex = typename TensorRef::LongIndex |
using cutlass::epilogue::warp::TileIteratorTensorOp< WarpShape_, OperatorShape_, Element_, layout::RowMajor >::OperatorShape = OperatorShape_ |
using cutlass::epilogue::warp::TileIteratorTensorOp< WarpShape_, OperatorShape_, Element_, layout::RowMajor >::Padding = MatrixShape< 0, Detail::kLanesInQuad * Policy::kElementsPerAccess> |
using cutlass::epilogue::warp::TileIteratorTensorOp< WarpShape_, OperatorShape_, Element_, layout::RowMajor >::Policy = TensorOpPolicy<WarpShape, OperatorShape, Layout> |
using cutlass::epilogue::warp::TileIteratorTensorOp< WarpShape_, OperatorShape_, Element_, layout::RowMajor >::Shape = MatrixShape< Policy::kRowsPerIteration, WarpShape::kN > |
using cutlass::epilogue::warp::TileIteratorTensorOp< WarpShape_, OperatorShape_, Element_, layout::RowMajor >::TensorCoord = MatrixCoord |
using cutlass::epilogue::warp::TileIteratorTensorOp< WarpShape_, OperatorShape_, Element_, layout::RowMajor >::TensorRef = TensorRef<Element, Layout> |
using cutlass::epilogue::warp::TileIteratorTensorOp< WarpShape_, OperatorShape_, Element_, layout::RowMajor >::WarpShape = WarpShape_ |
|
inline |
|
inline |
|
inline |
advances in units of whole tiles along the logical coordinate space of the tensor
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
Number of times this iterator can be incremented