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

Generic stream for transforming and storing fragments.

#include <tile_stream.h>

Inheritance diagram for cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >:
cutlass::TileStoreStream< Iterator_, Transformer_ >

Public Types

typedef TileStoreStream< Iterator_, Transformer_ > Base
 
typedef Iterator_ Iterator
 TileLoadIterator. More...
 
typedef PredicateFunctor_ PredicateFunctor
 Predicate functor. More...
 
typedef Transformer_ Transformer
 Transformer. More...
 
typedef Base::Fragment Fragment
 Fragment fetched from source memory. More...
 
typedef Base::TransformedFragment TransformedFragment
 Output fragment from transformer. More...
 
typedef Base::Params Params
 Parameters object used to construct generic load stream. More...
 
- Public Types inherited from cutlass::TileStoreStream< Iterator_, Transformer_ >
typedef Iterator_ Iterator
 TileLoadIterator. More...
 
typedef Transformer_ Transformer
 Transformer. More...
 
typedef Transformer::InputFragment Fragment
 Source fragment. More...
 
typedef Transformer::OutputFragment TransformedFragment
 Transformed fragment, compatible with Iterator::Fragment. More...
 
typedef Iterator::TensorRef TensorRef
 Tensor reference expected by the underlying iterator. More...
 
typedef Iterator::Index Index
 Index type. More...
 

Public Member Functions

CUTLASS_DEVICE PredicatedTileStoreStream (Params const &_params, Coord< 3 > const &bounds, Coord< 3 > const &threadblock_offset=make_Coord(0, 0, 0))
 Ctor. More...
 
CUTLASS_DEVICE void copy ()
 Stores the fragment and increments the iterator. More...
 
CUTLASS_DEVICE void copy (Fragment const &frag)
 Stores the fragment and increments the iterator. More...
 
CUTLASS_DEVICE void commit ()
 Commits the store operation. More...
 
- Public Member Functions inherited from cutlass::TileStoreStream< Iterator_, Transformer_ >
CUTLASS_DEVICE TileStoreStream (Params const &_params, TensorRef const &_ref)
 Ctor. More...
 
CUTLASS_DEVICE TileStoreStream (Params const &_params, Coord< 3 > const &threadblock_offset=make_Coord(0, 0, 0))
 Ctor. More...
 
CUTLASS_DEVICE void copy ()
 Stores a fragment and increments the iterator. More...
 
CUTLASS_DEVICE void copy (Fragment const &frag)
 Stores a fragment and increments the iterator. More...
 
CUTLASS_DEVICE void commit ()
 Commits the store operation. More...
 
CUTLASS_DEVICE Fragmentfragment ()
 Accesses the transformed fragment. More...
 
CUTLASS_DEVICE TransformedFragmentintermediate_fragment ()
 Accesses the fragment after trasnforming. More...
 

Public Attributes

Iterator::PredicateVector predicates
 Predicates. More...
 
- Public Attributes inherited from cutlass::TileStoreStream< Iterator_, Transformer_ >
Iterator iterator
 Iterator to store tiles. More...
 
Transformer transformer
 Transformation applied to inputs. More...
 
Fragment source_fragment
 Source fragment. More...
 
TransformedFragment transformed_fragment
 Transformed fragment from transformer. More...
 

Member Typedef Documentation

◆ Base

template<typename Iterator_ , typename PredicateFunctor_ = RegularTilePredicateFunctor<typename Iterator_::Traits::Delta>, typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef TileStoreStream<Iterator_, Transformer_> cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >::Base

◆ Fragment

template<typename Iterator_ , typename PredicateFunctor_ = RegularTilePredicateFunctor<typename Iterator_::Traits::Delta>, typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef Base::Fragment cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >::Fragment

◆ Iterator

template<typename Iterator_ , typename PredicateFunctor_ = RegularTilePredicateFunctor<typename Iterator_::Traits::Delta>, typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef Iterator_ cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >::Iterator

◆ Params

template<typename Iterator_ , typename PredicateFunctor_ = RegularTilePredicateFunctor<typename Iterator_::Traits::Delta>, typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef Base::Params cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >::Params

◆ PredicateFunctor

template<typename Iterator_ , typename PredicateFunctor_ = RegularTilePredicateFunctor<typename Iterator_::Traits::Delta>, typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef PredicateFunctor_ cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >::PredicateFunctor

◆ TransformedFragment

template<typename Iterator_ , typename PredicateFunctor_ = RegularTilePredicateFunctor<typename Iterator_::Traits::Delta>, typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef Base::TransformedFragment cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >::TransformedFragment

◆ Transformer

template<typename Iterator_ , typename PredicateFunctor_ = RegularTilePredicateFunctor<typename Iterator_::Traits::Delta>, typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef Transformer_ cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >::Transformer

Constructor & Destructor Documentation

◆ PredicatedTileStoreStream()

template<typename Iterator_ , typename PredicateFunctor_ = RegularTilePredicateFunctor<typename Iterator_::Traits::Delta>, typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >::PredicatedTileStoreStream ( Params const &  _params,
Coord< 3 > const &  bounds,
Coord< 3 > const &  threadblock_offset = make_Coord(0, 0, 0) 
)
inline

Member Function Documentation

◆ commit()

template<typename Iterator_ , typename PredicateFunctor_ = RegularTilePredicateFunctor<typename Iterator_::Traits::Delta>, typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE void cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >::commit ( )
inline

◆ copy() [1/2]

template<typename Iterator_ , typename PredicateFunctor_ = RegularTilePredicateFunctor<typename Iterator_::Traits::Delta>, typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE void cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >::copy ( )
inline

◆ copy() [2/2]

template<typename Iterator_ , typename PredicateFunctor_ = RegularTilePredicateFunctor<typename Iterator_::Traits::Delta>, typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE void cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >::copy ( Fragment const &  frag)
inline

Member Data Documentation

◆ predicates

template<typename Iterator_ , typename PredicateFunctor_ = RegularTilePredicateFunctor<typename Iterator_::Traits::Delta>, typename Transformer_ = Copy<typename Iterator_::Fragment>>
Iterator::PredicateVector cutlass::PredicatedTileStoreStream< Iterator_, PredicateFunctor_, Transformer_ >::predicates

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