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

#include <gemm_global_stream.h>

Inheritance diagram for cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >:
cutlass::gemm::GlobalLoadStream< LoadIterator_, StoreIterator_, Transformer_ >

Classes

struct  Params
 The params. More...
 
union  SharedStorage
 The storage in shared memory needed by that stream. More...
 

Public Types

typedef LoadIterator_ LoadIterator
 The load iterator. More...
 
typedef Transformer_ Transformer
 The transformer. More...
 
typedef StoreIterator_ StoreIterator
 The store iterator to write to shared memory. More...
 
typedef LoadIterator::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 LoadIterator::Scalar Scalar
 The scalar type of the iterator. More...
 
typedef LoadIterator::Pointer Pointer
 The pointer. More...
 
typedef LoadIterator::Index Index
 The index. More...
 
typedef StoreIterator::SharedStorage SharedStoreStorage
 The amount of storage in shared memory needed to store the tile. More...
 

Public Member Functions

CUTLASS_DEVICE GlobalLoadStreamBase (Params const &params, SharedStorage &shared_storage, Coord< 3 > const bounds, Coord< 3 > const &block)
 Ctor. More...
 
CUTLASS_DEVICE void copy ()
 Load the data from shared memory to the fetch fragment. More...
 
CUTLASS_DEVICE void commit ()
 Commit the data. More...
 
CUTLASS_DEVICE void residue (Index k, bool skip_clear=false)
 Execute the residue code. More...
 

Public Attributes

LoadIterator load_iterator
 The iterator. More...
 
FetchedFragment fetched_fragment
 The fragment to fetch from shared memory. More...
 
Transformer transformer
 The transformer. More...
 
TransformedFragment transformed_fragment
 The fragment to convert the data after it has been fetched from shared memory. More...
 
StoreIterator store_iterator
 The store iterator. More...
 

Static Public Attributes

static MatrixLayout::Kind const kLayout = LoadIterator::kLayout
 Make sure the transformed fragment is the same as the store fragment. More...
 

Member Typedef Documentation

◆ FetchedFragment

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
typedef LoadIterator::Fragment cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::FetchedFragment

◆ Fragment

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
typedef TransformedFragment cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::Fragment

The output fragment.

◆ Index

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
typedef LoadIterator::Index cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::Index

◆ LoadIterator

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
typedef LoadIterator_ cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::LoadIterator

◆ Pointer

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
typedef LoadIterator::Pointer cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::Pointer

◆ Scalar

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
typedef LoadIterator::Scalar cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::Scalar

◆ SharedStoreStorage

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
typedef StoreIterator::SharedStorage cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::SharedStoreStorage

◆ StoreIterator

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
typedef StoreIterator_ cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::StoreIterator

◆ TransformedFragment

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
typedef Transformer::OutputFragment cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::TransformedFragment

◆ Transformer

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
typedef Transformer_ cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::Transformer

Constructor & Destructor Documentation

◆ GlobalLoadStreamBase()

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
CUTLASS_DEVICE cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::GlobalLoadStreamBase ( Params const &  params,
SharedStorage shared_storage,
Coord< 3 > const  bounds,
Coord< 3 > const &  block 
)
inline

Member Function Documentation

◆ commit()

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
CUTLASS_DEVICE void cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::commit ( )
inline

◆ copy()

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
CUTLASS_DEVICE void cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::copy ( )
inline

◆ residue()

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
CUTLASS_DEVICE void cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::residue ( Index  k,
bool  skip_clear = false 
)
inline

Member Data Documentation

◆ fetched_fragment

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
FetchedFragment cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::fetched_fragment

◆ kLayout

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
MatrixLayout::Kind const cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::kLayout = LoadIterator::kLayout
static

The layout.

◆ load_iterator

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
LoadIterator cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::load_iterator

◆ store_iterator

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
StoreIterator cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::store_iterator

◆ transformed_fragment

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
TransformedFragment cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::transformed_fragment

◆ transformer

template<typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ >
Transformer cutlass::gemm::GlobalLoadStreamBase< LoadIterator_, StoreIterator_, Transformer_ >::transformer

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