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::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, SharedStorage &shared_storage)
 Ctor. More...
 
CUTLASS_DEVICE void initialize (Params const &params, SharedStorage &shared_storage)
 Initialize the stream. More...
 
CUTLASS_DEVICE void copy (FetchedFragment &fetched)
 Load the data from shared memory to the fetch fragment. More...
 
CUTLASS_DEVICE void copy (int d, FetchedFragment &fetched)
 Load the data from shared memory to the fetch fragment. More...
 
CUTLASS_DEVICE void commit (FetchedFragment &fetched, TransformedFragment &transformed)
 Commit the data. More...
 
CUTLASS_DEVICE void inc_stage ()
 Increment the stage. More...
 

Public Attributes

Iterator iterator
 The iterator. More...
 
Transformer transformer
 The transformer. 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

◆ SharedStorage

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
typedef Iterator::Storage cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::SharedStorage

◆ 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,
SharedStorage shared_storage 
)
inline

Member Function Documentation

◆ commit()

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE void cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::commit ( FetchedFragment fetched,
TransformedFragment transformed 
)
inline

◆ copy() [1/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE void cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::copy ( FetchedFragment fetched)
inline

◆ copy() [2/2]

template<typename Iterator_ , typename Transformer_ = Copy<typename Iterator_::Fragment>>
CUTLASS_DEVICE void cutlass::gemm::SharedLoadStream< Iterator_, Transformer_ >::copy ( int  d,
FetchedFragment fetched 
)
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,
SharedStorage shared_storage 
)
inline

Member Data Documentation

◆ iterator

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

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