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

Generic stream for transforming and storing fragments.

#include <tile_stream.h>

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

Classes

struct  Params
 Parameters used to construct the stream. More...
 
struct  PredicateVector
 Empty predicate vector struct. More...
 

Public Types

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 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 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

◆ Fragment

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

◆ Index

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

◆ Iterator

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

◆ TensorRef

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

◆ TransformedFragment

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

◆ Transformer

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

Constructor & Destructor Documentation

◆ TileStoreStream() [1/2]

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

◆ TileStoreStream() [2/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE cutlass::TileStoreStream< Iterator_, Transformer_ >::TileStoreStream ( 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::TileStoreStream< Iterator_, Transformer_ >::commit ( )
inline

◆ copy() [1/2]

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

◆ copy() [2/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE void cutlass::TileStoreStream< Iterator_, Transformer_ >::copy ( Fragment const &  frag)
inline

◆ fragment()

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

◆ intermediate_fragment()

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

Member Data Documentation

◆ iterator

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

◆ source_fragment

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
Fragment cutlass::TileStoreStream< Iterator_, Transformer_ >::source_fragment

◆ transformed_fragment

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

◆ transformer

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

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