Cutlass CUDA Templates for Linear Algebra Subroutines and Solvers

Classes | Public Types | Public Member Functions | Public Attributes | List of all members
cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ > Struct Template Reference

`#include <gemm_shared_stream.h>`

## Classes
struct | Params
| The params. More...

## Public Types
typedef Iterator_ | Iterator
| The load iterator. More...
typedef Transformer_ | Transformer
| The transformer. More...
typedef Iterator::Fragment | FetchedFragment
| The fragment that is copied from shared memory. More...
typedef Transformer::OutputFragment | TransformedFragment
| The fragment that is obtained after the transformation by the transformer. More...
typedef TransformedFragment | Fragment
| Make sure the fragments match. More...
typedef Iterator::Scalar | Scalar
| Scalar data type. More...
typedef TensorRef< Scalar, 4 > | TensorRef
| Reference type to a tensor. More...
typedef Iterator::Storage | SharedStorage
| The storage in shared memory needed by that stream. More...

## Public Member Functions
CUTLASS_DEVICE | SharedLoadStream ()
| Ctor. More...
CUTLASS_DEVICE | SharedLoadStream (Params const &params, TensorRef const &ref)
| Ctor. More...
CUTLASS_DEVICE void | initialize (Params const &params, TensorRef const &ref)
| Initialize the stream. More...
CUTLASS_DEVICE void | copy ()
| Load the data from shared memory to the fetch fragment. More...
CUTLASS_DEVICE void | copy (int step)
| Load the data from shared memory to the fetch fragment. More...
CUTLASS_DEVICE void | commit ()
| Commit the data. More...
CUTLASS_DEVICE void | commit (int step)
| Commit the data. More...
CUTLASS_DEVICE TransformedFragment & | fragment (int step=0)
| Returns the fragment for the given step. More...
CUTLASS_DEVICE TransformedFragment const & | fragment (int step=0) const
| Returns the fragment for the given step. More...
CUTLASS_DEVICE void | inc_stage ()
| Increment the stage. More...

## Public Attributes
Iterator | iterator
| The iterator. More...
FetchedFragment | fetched [2]
| Fetched fragment. More...
Transformer | transformer
| The transformer. More...
TransformedFragment | transformed [2]
| Transformed fragment. More...

## Member Typedef Documentation

## ◆ FetchedFragment

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

typedef Iterator::Fragment cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::FetchedFragment

## ◆ Fragment

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

typedef TransformedFragment cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::Fragment

The output fragment.

## ◆ Iterator

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

typedef Iterator_ cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::Iterator

## ◆ Scalar

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

typedef Iterator::Scalar cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::Scalar

## ◆ SharedStorage

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

typedef Iterator::Storage cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::SharedStorage

## ◆ TensorRef

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

typedef TensorRef<Scalar, 4> cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::TensorRef

## ◆ TransformedFragment

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

typedef Transformer::OutputFragment cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::TransformedFragment

## ◆ Transformer

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

typedef Transformer_ cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::Transformer

## Constructor & Destructor Documentation

## ◆ SharedLoadStream() [1/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

CUTLASS_DEVICE cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::SharedLoadStream | ( |  | ) |
| inline

## ◆ SharedLoadStream() [2/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

CUTLASS_DEVICE cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::SharedLoadStream | ( | Params const & | params,
|  | TensorRef const & | ref
| ) |  |
| inline

## Member Function Documentation

## ◆ commit() [1/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

CUTLASS_DEVICE void cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::commit | ( |  | ) |
| inline

## ◆ commit() [2/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

CUTLASS_DEVICE void cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::commit | ( | int | step | ) |
| inline

## ◆ copy() [1/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

CUTLASS_DEVICE void cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::copy | ( |  | ) |
| inline

## ◆ copy() [2/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

CUTLASS_DEVICE void cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::copy | ( | int | step | ) |
| inline

## ◆ fragment() [1/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

CUTLASS_DEVICE TransformedFragment& cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::fragment | ( | int | step = `0` | ) |
| inline

## ◆ fragment() [2/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

CUTLASS_DEVICE TransformedFragment const& cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::fragment | ( | int | step = `0` | ) | const
| inline

## ◆ inc_stage()

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

CUTLASS_DEVICE void cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::inc_stage | ( |  | ) |
| inline

## ◆ initialize()

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

CUTLASS_DEVICE void cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::initialize | ( | Params const & | params,
|  | TensorRef const & | ref
| ) |  |
| inline

## Member Data Documentation

## ◆ fetched

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

FetchedFragment cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::fetched[2]

## ◆ iterator

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

Iterator cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::iterator

## ◆ transformed

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

TransformedFragment cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::transformed[2]

## ◆ transformer

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>

Transformer cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::transformer

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

- gemm_shared_stream.h