Cutlass CUDA Templates for Linear Algebra Subroutines and Solvers

Public Types | Public Member Functions | Public Attributes | List of all members
cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ > Struct Template Reference

`#include <gemm_epilogue.h>`

Inheritance diagram for cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >:

## Public Types
typedef GemmEpilogueTraits_ | Traits
| The traits class. More...
typedef Traits::Params | Params
| The params. More...
typedef Traits::SharedStorage | SharedStorage
| The shared storage. More...
typedef Traits::OutputTile | OutputTile
| The output tile. More...
typedef Traits::Iterations | Iterations
| The number of iterations. More...
typedef Traits::Accumulators | Accumulators
| The accumulators. More...
typedef Traits::Scalar | Scalar
| The scalar. More...
typedef Traits::Functor | Functor
| The functor in charge of the math. More...
typedef Traits::GlobalLoadIteratorC | GlobalLoadIteratorC
| We do not support 3D or 4D shapes. More...
typedef Traits::GlobalTransformerC | GlobalTransformerC
| The transformer for C. More...
typedef Traits::GlobalTransformerD | GlobalTransformerD
| The transformer for D. More...
typedef Traits::GlobalStoreIteratorD | GlobalStoreIteratorD
| The iterator for D in global memory. More...
typedef Traits::SharedStoreIteratorD | SharedStoreIteratorD
| The iterator to store D in shared memory. More...
typedef Traits::SharedStoreTransformerD | SharedStoreTransformerD
| The shared store transformer for D. More...
typedef Traits::SharedLoadStreamD | SharedLoadStreamD
| The iterator to load D in shared memory. More...
typedef Traits::Index | Index
| The index. More...
typedef GlobalLoadIteratorC::Scalar | ScalarC
| The scalar for C. More...
typedef GlobalStoreIteratorD::Scalar | ScalarD
| The scalar for D. More...

## Public Member Functions
CUTLASS_DEVICE | GemmEpilogue (Params const &params_, SharedStorage &shared_storage_, Coord< 3 > const &_problem_size)
| Ctor. More...
CUTLASS_DEVICE void | epilogue (Accumulators &accumulators, Coord< 3 > const &block=make_Coord(0, 0, 0), int batch_id=0)
| Execute the epilogue. More...
template<bool kSourceRequired>
CUTLASS_DEVICE void | epilogue_with_or_without_beta (Accumulators &accumulators, Coord< 3 > const &block, int batch_id)
CUTLASS_DEVICE void | shared_load_fence ()
| The memory fence for shared loads. More...
CUTLASS_DEVICE void | shared_store_fence ()
| The memory fence for shared stores. More...

## Public Attributes
Params const & | params
| The params. More...
SharedStorage & | shared_storage
| The shared storage. More...
Coord< 3 > | problem_size
| The dimensions of the GEMM. More...
Functor | functor

## Member Typedef Documentation

## ◆ Accumulators

template<typename GemmEpilogueTraits_ >

typedef Traits::Accumulators cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::Accumulators

## ◆ Functor

template<typename GemmEpilogueTraits_ >

typedef Traits::Functor cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::Functor

## ◆ GlobalLoadIteratorC

template<typename GemmEpilogueTraits_ >

typedef Traits::GlobalLoadIteratorC cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::GlobalLoadIteratorC

The iterator for C in global memory.

## ◆ GlobalStoreIteratorD

template<typename GemmEpilogueTraits_ >

typedef Traits::GlobalStoreIteratorD cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::GlobalStoreIteratorD

## ◆ GlobalTransformerC

template<typename GemmEpilogueTraits_ >

typedef Traits::GlobalTransformerC cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::GlobalTransformerC

## ◆ GlobalTransformerD

template<typename GemmEpilogueTraits_ >

typedef Traits::GlobalTransformerD cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::GlobalTransformerD

## ◆ Index

template<typename GemmEpilogueTraits_ >

typedef Traits::Index cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::Index

## ◆ Iterations

template<typename GemmEpilogueTraits_ >

typedef Traits::Iterations cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::Iterations

## ◆ OutputTile

template<typename GemmEpilogueTraits_ >

typedef Traits::OutputTile cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::OutputTile

## ◆ Params

template<typename GemmEpilogueTraits_ >

typedef Traits::Params cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::Params

## ◆ Scalar

template<typename GemmEpilogueTraits_ >

typedef Traits::Scalar cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::Scalar

## ◆ ScalarC

template<typename GemmEpilogueTraits_ >

typedef GlobalLoadIteratorC::Scalar cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::ScalarC

## ◆ ScalarD

template<typename GemmEpilogueTraits_ >

typedef GlobalStoreIteratorD::Scalar cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::ScalarD

## ◆ SharedLoadStreamD

template<typename GemmEpilogueTraits_ >

typedef Traits::SharedLoadStreamD cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::SharedLoadStreamD

## ◆ SharedStorage

template<typename GemmEpilogueTraits_ >

typedef Traits::SharedStorage cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::SharedStorage

## ◆ SharedStoreIteratorD

template<typename GemmEpilogueTraits_ >

typedef Traits::SharedStoreIteratorD cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::SharedStoreIteratorD

## ◆ SharedStoreTransformerD

template<typename GemmEpilogueTraits_ >

typedef Traits::SharedStoreTransformerD cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::SharedStoreTransformerD

## ◆ Traits

template<typename GemmEpilogueTraits_ >

typedef GemmEpilogueTraits_ cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::Traits

## Constructor & Destructor Documentation

## ◆ GemmEpilogue()

template<typename GemmEpilogueTraits_ >

CUTLASS_DEVICE cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::GemmEpilogue | ( | Params const & | params_,
|  | SharedStorage & | shared_storage_,
|  | Coord< 3 > const & | _problem_size
| ) |  |
| inline

## Member Function Documentation

## ◆ epilogue()

template<typename GemmEpilogueTraits_ >

CUTLASS_DEVICE void cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::epilogue | ( | Accumulators & | accumulators,
|  | Coord< 3 > const & | block = `make_Coord(0, 0, 0)`,
|  | int | batch_id = `0`
| ) |  |
| inline

## ◆ epilogue_with_or_without_beta()

template<typename GemmEpilogueTraits_ >
template<bool kSourceRequired>

CUTLASS_DEVICE void cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::epilogue_with_or_without_beta | ( | Accumulators & | accumulators,
|  | Coord< 3 > const & | block,
|  | int | batch_id
| ) |  |
| inline

## ◆ shared_load_fence()

template<typename GemmEpilogueTraits_ >

CUTLASS_DEVICE void cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::shared_load_fence | ( |  | ) |
| inline

## ◆ shared_store_fence()

template<typename GemmEpilogueTraits_ >

CUTLASS_DEVICE void cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::shared_store_fence | ( |  | ) |
| inline

## Member Data Documentation

## ◆ functor

template<typename GemmEpilogueTraits_ >

Functor cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::functor

## ◆ params

template<typename GemmEpilogueTraits_ >

Params const& cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::params

## ◆ problem_size

template<typename GemmEpilogueTraits_ >

Coord<3> cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::problem_size

## ◆ shared_storage

template<typename GemmEpilogueTraits_ >

SharedStorage& cutlass::gemm::GemmEpilogue< GemmEpilogueTraits_ >::shared_storage

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

- gemm_epilogue.h