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

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

- gemm_global_stream.h