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_ >:
cutlass::gemm::IgemmEpilogue< GemmEpilogueTraits_, bool > cutlass::gemm::IgemmEpilogue< GemmEpilogueTraits_, true >

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...
 
SharedStorageshared_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: