CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
|
#include <regular_tile_access_iterator_tensor_op.h>
Classes | |
struct | Detail |
Internal details made public to facilitate introspection. More... | |
Public Types | |
using | Shape = Shape_ |
using | Element = Element_ |
using | Layout = layout::TensorOpMultiplicandCrosswise< sizeof_bits< Element_ >::value, Crosswise > |
using | Index = typename Layout::Index |
using | LongIndex = typename Layout::LongIndex |
using | TensorRef = TensorRef< Element, Layout > |
using | TensorCoord = typename Layout::TensorCoord |
using | ThreadMap = ThreadMap_ |
using | AccessType = Array< Element, Layout::kElementsPerAccess > |
Element type per access. More... | |
Public Member Functions | |
CUTLASS_HOST_DEVICE | RegularTileAccessIterator (TensorRef ref, int thread_id) |
Construct a TileIterator with zero threadblock offset. More... | |
CUTLASS_HOST_DEVICE void | set_iteration_index (int index) |
Overrides the internal iteration index. More... | |
CUTLASS_HOST_DEVICE void | add_pointer_offset (LongIndex pointer_offset) |
Adds a pointer offset in units of Element. More... | |
CUTLASS_HOST_DEVICE AccessType * | get () const |
Returns a pointer. More... | |
CUTLASS_HOST_DEVICE RegularTileAccessIterator & | operator++ () |
Advances to the next tile in memory. More... | |
CUTLASS_HOST_DEVICE RegularTileAccessIterator | operator++ (int) |
Advances to the next tile in memory. 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 |
static int const | kCrosswise = Crosswise |
Tile iterator specialized for crosswise arrangements for TensorOps
Satisfies: ForwardTileIteratorConcept | ReadableContiguousTileIteratorConcept | WriteableContiguousTileIteratorConcept
using cutlass::transform::threadblock::RegularTileAccessIterator< Shape_, Element_, layout::TensorOpMultiplicandCrosswise< sizeof_bits< Element_ >::value, Crosswise >, AdvanceRank, ThreadMap_, Alignment >::AccessType = Array<Element, Layout::kElementsPerAccess> |
using cutlass::transform::threadblock::RegularTileAccessIterator< Shape_, Element_, layout::TensorOpMultiplicandCrosswise< sizeof_bits< Element_ >::value, Crosswise >, AdvanceRank, ThreadMap_, Alignment >::Element = Element_ |
using cutlass::transform::threadblock::RegularTileAccessIterator< Shape_, Element_, layout::TensorOpMultiplicandCrosswise< sizeof_bits< Element_ >::value, Crosswise >, AdvanceRank, ThreadMap_, Alignment >::Index = typename Layout::Index |
using cutlass::transform::threadblock::RegularTileAccessIterator< Shape_, Element_, layout::TensorOpMultiplicandCrosswise< sizeof_bits< Element_ >::value, Crosswise >, AdvanceRank, ThreadMap_, Alignment >::Layout = layout::TensorOpMultiplicandCrosswise<sizeof_bits<Element_>::value, Crosswise> |
using cutlass::transform::threadblock::RegularTileAccessIterator< Shape_, Element_, layout::TensorOpMultiplicandCrosswise< sizeof_bits< Element_ >::value, Crosswise >, AdvanceRank, ThreadMap_, Alignment >::LongIndex = typename Layout::LongIndex |
using cutlass::transform::threadblock::RegularTileAccessIterator< Shape_, Element_, layout::TensorOpMultiplicandCrosswise< sizeof_bits< Element_ >::value, Crosswise >, AdvanceRank, ThreadMap_, Alignment >::Shape = Shape_ |
using cutlass::transform::threadblock::RegularTileAccessIterator< Shape_, Element_, layout::TensorOpMultiplicandCrosswise< sizeof_bits< Element_ >::value, Crosswise >, AdvanceRank, ThreadMap_, Alignment >::TensorCoord = typename Layout::TensorCoord |
using cutlass::transform::threadblock::RegularTileAccessIterator< Shape_, Element_, layout::TensorOpMultiplicandCrosswise< sizeof_bits< Element_ >::value, Crosswise >, AdvanceRank, ThreadMap_, Alignment >::TensorRef = TensorRef<Element, Layout> |
using cutlass::transform::threadblock::RegularTileAccessIterator< Shape_, Element_, layout::TensorOpMultiplicandCrosswise< sizeof_bits< Element_ >::value, Crosswise >, AdvanceRank, ThreadMap_, Alignment >::ThreadMap = ThreadMap_ |
|
inline |
ref | Pointer to start of tensor |
thread_id | ID of each participating thread |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
|
static |
|
static |