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 TransformedFragmentfragment (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: