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

## 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 Fragment & | fragment ()
| Accesses the transformed fragment. More...
CUTLASS_DEVICE TransformedFragment & | intermediate_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:

- tile_stream.h