CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
|
#include <predicated_tile_access_iterator_2dthreadtile.h>
Classes | |
class | Params |
Parameters object is precomputed state and is host-constructible. More... | |
Public Types | |
using | Shape = Shape_ |
using | Element = Element_ |
using | Layout = layout::ColumnMajor |
using | ThreadMap = ThreadMap_ |
using | AccessType = AccessType_ |
using | Index = typename Layout::Index |
using | LongIndex = typename Layout::LongIndex |
using | TensorRef = TensorRef< Element, Layout > |
using | TensorView = TensorView< Element, Layout > |
using | TensorCoord = typename Layout::TensorCoord |
using | Pointer = Element * |
using | NonConstPointer = typename platform::remove_const< Element >::type * |
using | UnderlyingIterator = PredicatedTileAccessIterator2dThreadTile< layout::PitchLinearShape< Shape::kRow, Shape::kColumn >, Element, layout::PitchLinear,(kAdvanceRank==0?0:1), ThreadMap, AccessType > |
using | Mask = typename UnderlyingIterator::Mask |
Predicate vector stores mask to guard accesses. More... | |
Static Public Attributes | |
static int const | kAdvanceRank = AdvanceRank |
Specialization of PredicatedTileAccessIterator2dThreadTile for pitch-linear data.
Satisfies: ForwardTileIteratorConcept | ReadableContiguousTileIteratorConcept | WriteableContiguousTileIteratorConcept | MaskedTileIteratorConcept
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::AccessType = AccessType_ |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::Element = Element_ |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::Index = typename Layout::Index |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::Layout = layout::ColumnMajor |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::LongIndex = typename Layout::LongIndex |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::Mask = typename UnderlyingIterator::Mask |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::NonConstPointer = typename platform::remove_const<Element>::type * |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::Pointer = Element * |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::Shape = Shape_ |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::TensorCoord = typename Layout::TensorCoord |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::TensorRef = TensorRef<Element, Layout> |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::TensorView = TensorView<Element, Layout> |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::ThreadMap = ThreadMap_ |
using cutlass::transform::threadblock::PredicatedTileAccessIterator2dThreadTile< Shape_, Element_, layout::ColumnMajor, AdvanceRank, ThreadMap_, AccessType_ >::UnderlyingIterator = PredicatedTileAccessIterator2dThreadTile< layout::PitchLinearShape<Shape::kRow, Shape::kColumn>, Element, layout::PitchLinear, (kAdvanceRank == 0 ? 0 : 1), ThreadMap, AccessType> |
|
inline |
Constructs a TileIterator from its precomputed state, threadblock offset, and thread ID
params | Precomputed parameters object Pointer to start of tensor |
pointer | Extent of tensor |
extent | ID of each participating thread |
thread_id | Initial offset of threadblock |
|
inline |
params | Precomputed parameters object |
pointer | Pointer to start of tensor |
extent | Extent of tensor |
thread_id | ID of each participating thread |
|
inline |
|
inline |
Advances an iterator along logical dimensions of matrix in units of whole tiles
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Advances to the next tile in memory.
The first time this method is called, predicates are updated, and the iterator's internal pointer is reverted to the first "steady state" tile. Subsequent calls are lightweight and must only update the internal pointer.
|
inline |
Advances to the next tile in memory.
The first time this method is called, predicates are updated, and the iterator's internal pointer is reverted to the first "steady state" tile. Subsequent calls are lightweight and must only update the internal pointer.
|
inline |
|
inline |
|
inline |
|
static |