Cutlass
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Types | List of all members
cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ > Struct Template Reference

#include <igemm_epilogue.h>

Inheritance diagram for cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >:
cutlass::gemm::GemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >

Public Types

typedef GemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ > Base
 The base class. More...
 
typedef IgemmConfig_ IgemmConfig
 The config. More...
 
typedef Base::Scalar Scalar
 The scalar type of the epilogue. More...
 
typedef Base::Iterations Iterations
 The iterations. More...
 
typedef Base::Delta Delta
 The iterations strides. More...
 
typedef Base::GlobalLoadTileTraits GlobalLoadTileTraits
 The traits class for the iterator. More...
 
typedef GemmGlobalIteratorCd< GlobalLoadTileTraitsGlobalLoadIteratorC
 The iterator to store to shared memory. More...
 
typedef GlobalLoadIteratorC::Fragment GlobalFragmentC
 The fragment that needs to be produced by the load iterator. More...
 
typedef IgemmGlobalLoadTransformer< GlobalFragmentC, Scalar >::Transformer GlobalTransformerC
 The transformer from loaded data to math fragment. More...
 
typedef Base::GlobalStoreTileTraits GlobalStoreTileTraits
 The traits class for the iterator. More...
 
typedef GemmGlobalIteratorCd< GlobalStoreTileTraitsGlobalStoreIteratorD
 The iterator to store to shared memory. More...
 
typedef GlobalStoreIteratorD::Fragment GlobalFragmentD
 The fragment that needs to be passed to that store iterator. More...
 
typedef IgemmGlobalStoreTransformer< Scalar, GlobalFragmentD >::Transformer GlobalTransformerD
 The transformer from accumulators to shared memory fragments. More...
 
typedef Base::SharedStoreTileTraits SharedStoreTileTraits
 The traits class for the shared iterator to store D to shared memory. More...
 
typedef TileStoreIterator< SharedStoreTileTraits, typename SharedStoreTileTraits::Scalar, IteratorAdvance::kH, MemorySpace::kGlobalSharedStoreIteratorD
 The shared iterator to store D to shared memory. More...
 
typedef SharedStoreIteratorD::Fragment SharedStoreFragmentD
 The fragment that needs to be passed to that store iterator. More...
 
typedef IgemmSharedStoreTransformer< typename IgemmConfig::Accumulators::Element, SharedStoreFragmentD >::Transformer SharedStoreTransformerD
 The transformer from accumulators to shared memory fragments. More...
 
typedef Base::SharedLoadTileTraits SharedLoadTileTraits
 The traits class for the shared iterator to load D from shared memory. More...
 
typedef TileLoadIterator< SharedLoadTileTraits, typename SharedLoadTileTraits::Scalar, IteratorAdvance::kH, MemorySpace::kSharedSharedLoadIteratorD
 The shared iterator to load D from shared memory. More...
 
- Public Types inherited from cutlass::gemm::GemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >
typedef EpilogueFunctor_::Scalar Scalar
 The scalar. More...
 
typedef IgemmConfig_ ::OutputTile OutputTile
 The output tile. More...
 
typedef Shape< 1, IgemmConfig_ ::MultiplyAdd::AccumulatorsPerThread::kH/IgemmConfig_ ::kAccumulatorsPerLdsB, IgemmConfig_ ::kAccumulatorsPerLdsB > Iterations
 The number of iterations in the epilogue. More...
 
typedef Shape< 0, IgemmConfig_ ::kAccumulatorsPerLdsB *(IgemmConfig_ ::Warps::kH *IgemmConfig_ ::MultiplyAdd::ThreadsPerWarp::kH - 1), 0 > Delta
 
typedef EpilogueFunctor_ Functor
 The functor to do the math in the epilogue. More...
 
typedef GemmSharedStoreTileDTraits< typename Functor::ScalarAccum, typename IgemmConfig_ ::OutputTile, typename IgemmConfig_ ::Warps, typename IgemmConfig_ ::MultiplyAdd::ThreadsPerWarp, IgemmConfig_ ::kScalarsPerStsD, 128/sizeof(typename IgemmConfig_ ::ScalarD)/IgemmConfig_ ::kScalarsPerStsD/2 *IgemmConfig_ ::kScalarsPerStsD > SharedStoreTileTraits
 The traits class to build the iterator to store to shared memory for D. More...
 
typedef TileStoreIterator< SharedStoreTileTraits, typename SharedStoreTileTraits::Scalar, IteratorAdvance::kH, MemorySpace::kShared > SharedStoreIteratorD
 The iterator to store D to shared memory. More...
 
typedef Copy< typename SharedStoreIteratorD::FragmentSharedStoreTransformerD
 The shared store transformer for D. More...
 
typedef GemmSharedLoadTileDTraits< typename Functor::ScalarAccum, typename IgemmConfig_ ::OutputTile, typename IgemmConfig_ ::Warps, typename IgemmConfig_ ::MultiplyAdd::ThreadsPerWarp, IgemmConfig_ ::OutputTile::kH/ShapeCount< Iterations >::kCount, IgemmConfig_ ::kScalarsPerLdsD, SharedStoreTileTraits::kSkew > SharedLoadTileTraits
 The traits class to build the iterator to load from shared memory for D. More...
 
typedef TileLoadIterator< SharedLoadTileTraits, typename SharedLoadTileTraits::Scalar, IteratorAdvance::kH, MemorySpace::kShared > SharedLoadIteratorD
 The iterator to load D from shared memory. More...
 
typedef SharedLoadStream< SharedLoadIteratorDSharedLoadStreamD
 The stream to load D. More...
 
typedef GemmGlobalTileCdTraits< typename IgemmConfig_ ::ScalarC const, Shape< 1, IgemmConfig_ ::OutputTile::kH/ShapeCount< Iterations >::kCount, IgemmConfig_ ::OutputTile::kW >, Shape< 1, ShapeCount< typename IgemmConfig_ ::Warps >::kCount, IgemmConfig_ ::kWarpSize >, Iterations::kW, IgemmConfig_ ::kScalarsPerLdgC > GlobalLoadTileTraits
 The traits class to build the iterator to load data from global memory for C^N. More...
 
typedef GemmGlobalIteratorCd< GlobalLoadTileTraits, Index_ > GlobalLoadIteratorC
 The iterator to load C. More...
 
typedef Copy< typename GlobalLoadIteratorC::FragmentGlobalTransformerC
 The transformer for C. More...
 
typedef GemmGlobalTileCdTraits< typename IgemmConfig_ ::ScalarD, Shape< 1, IgemmConfig_ ::OutputTile::kH/ShapeCount< Iterations >::kCount, IgemmConfig_ ::OutputTile::kW >, Shape< 1, ShapeCount< typename IgemmConfig_ ::Warps >::kCount, IgemmConfig_ ::kWarpSize >, Iterations::kW, IgemmConfig_ ::kScalarsPerStgD > GlobalStoreTileTraits
 The traits class to build the iterator to store data to global memory for D^N. More...
 
typedef GemmGlobalIteratorCd< GlobalStoreTileTraits, Index_ > GlobalStoreIteratorD
 The iterator to store D. More...
 
typedef Copy< typename GlobalStoreIteratorD::FragmentGlobalTransformerD
 The transformer for D. More...
 

Member Typedef Documentation

◆ Base

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef GemmEpilogueTraitsHelper<IgemmConfig_, EpilogueFunctor_, Index_> cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::Base

◆ Delta

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef Base::Delta cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::Delta

◆ GlobalFragmentC

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef GlobalLoadIteratorC::Fragment cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::GlobalFragmentC

◆ GlobalFragmentD

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef GlobalStoreIteratorD::Fragment cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::GlobalFragmentD

◆ GlobalLoadIteratorC

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef GemmGlobalIteratorCd<GlobalLoadTileTraits> cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::GlobalLoadIteratorC

◆ GlobalLoadTileTraits

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef Base::GlobalLoadTileTraits cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::GlobalLoadTileTraits

◆ GlobalStoreIteratorD

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef GemmGlobalIteratorCd<GlobalStoreTileTraits> cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::GlobalStoreIteratorD

◆ GlobalStoreTileTraits

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef Base::GlobalStoreTileTraits cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::GlobalStoreTileTraits

◆ GlobalTransformerC

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef IgemmGlobalLoadTransformer<GlobalFragmentC, Scalar>::Transformer cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::GlobalTransformerC

◆ GlobalTransformerD

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef IgemmGlobalStoreTransformer<Scalar, GlobalFragmentD>::Transformer cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::GlobalTransformerD

◆ IgemmConfig

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef IgemmConfig_ cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::IgemmConfig

◆ Iterations

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef Base::Iterations cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::Iterations

◆ Scalar

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef Base::Scalar cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::Scalar

◆ SharedLoadIteratorD

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef TileLoadIterator<SharedLoadTileTraits, typename SharedLoadTileTraits::Scalar, IteratorAdvance::kH, MemorySpace::kShared> cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::SharedLoadIteratorD

◆ SharedLoadTileTraits

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef Base::SharedLoadTileTraits cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::SharedLoadTileTraits

◆ SharedStoreFragmentD

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef SharedStoreIteratorD::Fragment cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::SharedStoreFragmentD

◆ SharedStoreIteratorD

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef TileStoreIterator<SharedStoreTileTraits, typename SharedStoreTileTraits::Scalar, IteratorAdvance::kH, MemorySpace::kGlobal> cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::SharedStoreIteratorD

◆ SharedStoreTileTraits

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef Base::SharedStoreTileTraits cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::SharedStoreTileTraits

◆ SharedStoreTransformerD

template<typename IgemmConfig_ , typename EpilogueFunctor_ , typename Index_ >
typedef IgemmSharedStoreTransformer<typename IgemmConfig::Accumulators::Element, SharedStoreFragmentD>::Transformer cutlass::gemm::IgemmEpilogueTraitsHelper< IgemmConfig_, EpilogueFunctor_, Index_ >::SharedStoreTransformerD

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