CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
|
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... | |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Element = typename cutlass::arch::WmmaToCutlassDataType<WmmaDataType>::Type |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Fragment = WmmaFragmentArray<OperatorFragment, Policy::OperatorCount::kColumn * Policy::kWmmaFragmentsPerAccess> |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Index = typename TensorRef::Index |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Layout = layout::RowMajor |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::LongIndex = typename TensorRef::LongIndex |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::OperatorFragment = OperatorFragment_ |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::OperatorShape = OperatorShape_ |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Padding = MatrixShape< 0, 4 * Policy::kElementsPerAccess > |
Padding quantity
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Policy = WmmaTensorOpPolicy<WarpShape, OperatorShape, Layout> |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::Shape = MatrixShape< Policy::kRowsPerIteration, WarpShape::kN > |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::TensorCoord = MatrixCoord |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::TensorRef = TensorRef<Element, Layout> |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::WarpShape = WarpShape_ |
using cutlass::epilogue::warp::TileIteratorWmmaTensorOp< WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor >::WmmaDataType = typename OperatorFragment::element_type |
|
inline |
|
inline |
|
inline |
advances in units of whole tiles along the logical coordinate space of the tensor
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |