|
typedef GemmGlobalIteratorAb< TileTraits_, Index_ > | Base |
| The base class. More...
|
|
typedef TileTraits_::ThreadOffset | ThreadOffset |
| The functor to compute the thread offset. More...
|
|
typedef GemmGlobalIteratorAb< TileTraits_, Index_ > | This_ |
| This class. More...
|
|
typedef TileLoadIterator< TileTraits_, typename TileTraits_::Scalar, TileTraits_::MultiplicandTraits::kKstrided ? IteratorAdvance::kH :IteratorAdvance::kW, MemorySpace::kGlobal, Index_ > | Base |
| The base class. More...
|
|
typedef TileTraits_::Tile | Tile |
| The tile. More...
|
|
typedef Base::Fragment | Fragment |
| Fragment type loaded by the iterator. More...
|
|
typedef TileTraits_::Scalar | Scalar |
| The scalar. More...
|
|
typedef TileTraits_::Threads | Threads |
| The threads. More...
|
|
typedef Index_ | Index |
| The index. More...
|
|
typedef long long | LongIndex |
| Long index. More...
|
|
typedef TileTraits_::ThreadOffset | ThreadOffset |
| The thread offset. More...
|
|
typedef cutlass::PredicateVector< ShapeCount< typename Base::Iterations >::kCount > | PredicateVector |
|
typedef Base::Params | BaseParams |
| Iterator parameters type. More...
|
|
enum | |
| Do we require a fence? More...
|
|
typedef TileIteratorBase< TileTraits_, TileTraits_::Scalar, Advance_, MemorySpace, Index_, TileTraits_::Scalar, FragmentElementType::kScalar, Shape< 0, 0, 0, 0 > > | Base |
| Base class. More...
|
|
typedef Base::Traits | Traits |
| concept TileTraits More...
|
|
typedef Base::Scalar | Scalar |
| Scalar element. More...
|
|
typedef TileTraits_::Scalar | FragmentElement |
| Fragment element. More...
|
|
typedef Base::Index | Index |
| Index type. More...
|
|
typedef Base::LongIndex | LongIndex |
| Index type. More...
|
|
typedef Base::Skew | Skew |
| Skew quantity. More...
|
|
typedef Base::Tile | Tile |
| Tile shape. More...
|
|
typedef Base::Delta | Delta |
| Delta. More...
|
|
typedef Base::Iterations | Iterations |
| Iterations. More...
|
|
typedef Base::ThreadOffset | ThreadOffset |
| ThreadOffset functor. More...
|
|
typedef Base::FragmentShape | FragmentShape |
| Fragment type. More...
|
|
typedef Base::AccessType | AccessType |
| Memory access type. More...
|
|
typedef Base::Fragment | Fragment |
| Fragment definition. More...
|
|
typedef Base::FragmentIterator | FragmentIterator |
| Fragment iterator definition. More...
|
|
typedef Base::FragmentConstIterator | FragmentConstIterator |
| Fragment const iterator definition. More...
|
|
typedef Base::PredicateVector | PredicateVector |
| Default predicate mask type. More...
|
|
typedef Base::Storage | SharedStorage |
| Storage object that may be loaded from. More...
|
|
typedef Base::Params | BaseParams |
| IteratorBase parameters. More...
|
|
typedef Scalar const * | Pointer |
| The pointer type. More...
|
|
typedef TensorRef< Scalar const, 4 > | TensorRef |
| Tensor reference for the load iterator. More...
|
|
typedef TileTraits_ | Traits |
| concept TileTraits More...
|
|
typedef TileTraits_::Scalar | Scalar |
| Scalar element. More...
|
|
typedef TileTraits_::Scalar | FragmentElement |
| Fragment element. More...
|
|
typedef Index_ | Index |
| Index type. More...
|
|
typedef long long | LongIndex |
| Long index. More...
|
|
typedef Shape< 0, 0, 0, 0 > | Skew |
| Skew quantity. More...
|
|
typedef Traits::Tile | Tile |
| Tile shape. More...
|
|
typedef Traits::Delta | Delta |
| Distance along each dimension. More...
|
|
typedef Traits::ImmediateOffsetStrides | ImmediateOffsetStrides |
| The strides in each dimension between different loads/stores. More...
|
|
typedef Traits::Iterations | Iterations |
| Iterations. More...
|
|
typedef Traits::ThreadOffset | ThreadOffset |
| Thread offset. More...
|
|
typedef Vectorize< FragmentElement, kAccessSize >::Type | AccessType |
| The elements loaded/store by one instruction. More...
|
|
typedef Fragment< Scalar, ShapeCount< Tile >::kCount, kFragmentSize > | Storage |
| The storage. More...
|
|
typedef Fragment< FragmentElement, ShapeCount< Iterations >::kCount *kAccessSize > | Fragment |
| The fragment. More...
|
|
typedef FragmentIterator< Fragment, Iterations, AccessType > | FragmentIterator |
| The fragment iterator. More...
|
|
typedef FragmentConstIterator< Fragment, Iterations, AccessType > | FragmentConstIterator |
| The fragment const iterator. More...
|
|
typedef FragmentIterator::FragmentShape | FragmentShape |
| The shape of the fragment. More...
|
|
typedef PredicateVector< ShapeCount< Iterations >::kCount > | PredicateVector |
| Default predicate mask type. More...
|
|
|
CUTLASS_DEVICE | IgemmGlobalIteratorAb (typename Base::Params const &_params, const Coord< 3 > &threadblock_offset, ThreadOffset thread_offset_func=ThreadOffset()) |
| Constructor. More...
|
|
CUTLASS_DEVICE void | initialize_predicates (const Coord< 3 > &bounds, const Coord< 3 > &threadblock_offset) |
|
CUTLASS_DEVICE void | load_element (typename Base::AccessType &value, int d, int h, int w, int c) const |
|
CUTLASS_HOST_DEVICE void | initialize_predicates (const Coord< 3 > &bounds, const Coord< 3 > &block_offset) |
|
CUTLASS_HOST_DEVICE | GemmGlobalIteratorAb (Params const &_params, const Coord< 3 > &threadblock_offset, ThreadOffset thread_offset_func=ThreadOffset()) |
| Ctor. More...
|
|
CUTLASS_HOST_DEVICE void | inc_w () |
| Increment the pointer in the W dimension. More...
|
|
CUTLASS_HOST_DEVICE void | inc_h () |
| Increment the pointer in the H dimension. More...
|
|
CUTLASS_HOST_DEVICE void | inc_d () |
| Increment the pointer in the D dimension. More...
|
|
CUTLASS_HOST_DEVICE void | inc_advance () |
| Increment the pointer to move to the next iteration. More...
|
|
CUTLASS_HOST_DEVICE void | load_element (typename Base::AccessType &value, int d, int h, int w, int c) const |
| Loads a single fragment element from memory. More...
|
|
CUTLASS_HOST_DEVICE void | residue (Index k) |
| That's the residue! Update the predicates. More...
|
|
CUTLASS_HOST_DEVICE bool | valid (int d, int h, int w, int c) const |
| Is the valid? More...
|
|
CUTLASS_HOST_DEVICE GemmGlobalIteratorAb & | operator+= (Coord< 3 > const &offset) |
| Adds a vector offset to the iterator. More...
|
|
CUTLASS_HOST_DEVICE void | add_pointer_offset (Index offset) |
|
CUTLASS_HOST_DEVICE Index | stride_advance (void) |
|
template<typename Fragment > |
CUTLASS_HOST_DEVICE void | load_post_increment (Fragment &fragment) |
|
CUTLASS_HOST_DEVICE void | initialize_predicates (PredicateIterator predicate_it, Coord< 3 > const &bounds, Coord< 3 > const &block_offset=make_Coord(0, 0, 0)) |
| Initializes a predicate vector using a RegularTilePredicateFunctor. More...
|
|
CUTLASS_HOST_DEVICE void | initialize_predicates (PredicateIterator predicate_it, PredicateFunctor const &functor, Coord< 3 > const &block_offset) |
| Initializes a predicate vector using an arbitrary predicate functor. More...
|
|
CUTLASS_HOST_DEVICE | TileLoadIterator () |
| Default constructor. More...
|
|
CUTLASS_HOST_DEVICE | TileLoadIterator (Params const &_params, Coord< 3 > const &block_offset=make_Coord(0, 0, 0), ThreadOffset thread_offset_func=ThreadOffset()) |
| Constructs a tile load iterator. More...
|
|
CUTLASS_HOST_DEVICE | TileLoadIterator (Params const &, Scalar const *ptr, Coord< 3 > const &block_offset=make_Coord(0, 0, 0), ThreadOffset thread_offset_func=ThreadOffset()) |
| Constructs a tile load iterator. More...
|
|
CUTLASS_HOST_DEVICE void | inc_d () |
| Increment in the D dimension. More...
|
|
CUTLASS_HOST_DEVICE void | inc_h () |
| Increment in the H dimension. More...
|
|
CUTLASS_HOST_DEVICE void | inc_w () |
| Increment in the W dimension. More...
|
|
CUTLASS_HOST_DEVICE void | inc_advance () |
| Increment in the next dimension. More...
|
|
CUTLASS_HOST_DEVICE void | load_element (AccessType &value, int d, int h, int w, int c) const |
| Loads a single fragment element from memory. More...
|
|
CUTLASS_HOST_DEVICE void | inc_stage () |
| Increment the stage. More...
|
|
CUTLASS_HOST_DEVICE TileLoadIterator & | operator+= (Coord< 3 > const &offset) |
| Adds a vector offset to the iterator. More...
|
|
CUTLASS_HOST_DEVICE void | add_pointer_offset (LongIndex offset) |
| Adds a raw offset to the pointer. More...
|
|
CUTLASS_HOST_DEVICE Index | stride_advance (void) |
|
CUTLASS_HOST_DEVICE void | load_post_increment (Fragment &fragment, PredicateIterator pred_it) |
| Loads a fragment and advances the iterator to the next tile. More...
|
|
CUTLASS_HOST_DEVICE void | load_post_increment (Fragment &fragment) |
| Loads a fragment and advances the iterator to the next tile. More...
|
|
CUTLASS_HOST_DEVICE void | load (Fragment &fragment, PredicateIterator pred_it) const |
| Loads a fragment without advancing the iterator.. More...
|
|
CUTLASS_HOST_DEVICE void | load (Fragment &fragment) const |
| Loads a fragment without advancing the iterator.. More...
|
|
CUTLASS_HOST_DEVICE void | load (Fragment &fragment, int d) |
| Loads a fragment without advancing the iterator.. More...
|
|
CUTLASS_HOST_DEVICE bool | valid (int d, int h, int w, int c) const |
| Is the iterator valid? More...
|
|