Cutlass
CUDA Templates for Linear Algebra Subroutines and Solvers
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
cutlass::TileLoadStream< Iterator_, Transformer_ > Struct Template Reference

Generic stream for loading and transforming fragments.

#include <tile_stream.h>

Inheritance diagram for cutlass::TileLoadStream< Iterator_, Transformer_ >:
cutlass::PredicatedTileLoadStream< Iterator_, PredicateFunctor_, Transformer_ >

Classes

struct  Params
 Parameters object used to construct generic load stream. More...
 
struct  PredicateVector
 Empty predicate vector struct. More...
 

Public Types

typedef Iterator_ Iterator
 TileLoadIterator. More...
 
typedef Transformer_ Transformer
 Transformer. More...
 
typedef Iterator::Fragment Fragment
 Fragment fetched from source memory. More...
 
typedef Transformer::OutputFragment TransformedFragment
 Output fragment from transformer. More...
 
typedef Iterator::TensorRef TensorRef
 Tensor reference expected by the stream. More...
 
typedef Iterator::Index Index
 Index type. More...
 

Public Member Functions

CUTLASS_DEVICE TileLoadStream (Params const &_params, TensorRef const &_ref)
 Ctor. More...
 
CUTLASS_DEVICE TileLoadStream (Params const &_params, Coord< 3 > const &threadblock_offset=make_Coord(0, 0, 0))
 Ctor. More...
 
CUTLASS_DEVICE void copy ()
 Loads a tile and increments the iterator. More...
 
CUTLASS_DEVICE void commit ()
 Commits the fetched fragment and applies a transformation. More...
 
CUTLASS_DEVICE Fragmentintermediate_fragment ()
 Accesses the loaded, transformed fragment. More...
 
CUTLASS_DEVICE TransformedFragmentfragment ()
 Accesses the loaded, transformed fragment. More...
 

Public Attributes

Iterator iterator
 Iterator to load tiles. More...
 
Fragment fetched_fragment
 Fragment loaded via iterator. More...
 
Transformer transformer
 Transformation applied to fragments. More...
 
TransformedFragment transformed_fragment
 Transformed fragment from transformer. More...
 

Member Typedef Documentation

◆ Fragment

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef Iterator::Fragment cutlass::TileLoadStream< Iterator_, Transformer_ >::Fragment

◆ Index

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef Iterator::Index cutlass::TileLoadStream< Iterator_, Transformer_ >::Index

◆ Iterator

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef Iterator_ cutlass::TileLoadStream< Iterator_, Transformer_ >::Iterator

◆ TensorRef

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef Iterator::TensorRef cutlass::TileLoadStream< Iterator_, Transformer_ >::TensorRef

◆ TransformedFragment

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef Transformer::OutputFragment cutlass::TileLoadStream< Iterator_, Transformer_ >::TransformedFragment

◆ Transformer

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef Transformer_ cutlass::TileLoadStream< Iterator_, Transformer_ >::Transformer

Constructor & Destructor Documentation

◆ TileLoadStream() [1/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE cutlass::TileLoadStream< Iterator_, Transformer_ >::TileLoadStream ( Params const &  _params,
TensorRef const &  _ref 
)
inline

◆ TileLoadStream() [2/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE cutlass::TileLoadStream< Iterator_, Transformer_ >::TileLoadStream ( Params const &  _params,
Coord< 3 > const &  threadblock_offset = make_Coord(0, 0, 0) 
)
inline

Member Function Documentation

◆ commit()

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE void cutlass::TileLoadStream< Iterator_, Transformer_ >::commit ( )
inline

◆ copy()

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE void cutlass::TileLoadStream< Iterator_, Transformer_ >::copy ( )
inline

◆ fragment()

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE TransformedFragment& cutlass::TileLoadStream< Iterator_, Transformer_ >::fragment ( )
inline

◆ intermediate_fragment()

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE Fragment& cutlass::TileLoadStream< Iterator_, Transformer_ >::intermediate_fragment ( )
inline

Member Data Documentation

◆ fetched_fragment

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
Fragment cutlass::TileLoadStream< Iterator_, Transformer_ >::fetched_fragment

◆ iterator

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
Iterator cutlass::TileLoadStream< Iterator_, Transformer_ >::iterator

◆ transformed_fragment

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
TransformedFragment cutlass::TileLoadStream< Iterator_, Transformer_ >::transformed_fragment

◆ transformer

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
Transformer cutlass::TileLoadStream< Iterator_, Transformer_ >::transformer

The documentation for this struct was generated from the following file: