Defines a FragmentStream by mapping GEMM dimensions onto contiguous and strided dimensions.
#include <gemm_fragment_stream.h>
|
| typedef Scalar_ | Scalar |
| | Scalar data type. More...
|
| |
| typedef ThreadBlockTile_ | ThreadBlockTile |
| | Shape of the thread block tile (K, N, M) More...
|
| |
| typedef Index_ | Index |
| | Index type. More...
|
| |
| typedef ShapeDiv< DestinationSkew_, Shape< ScalarsPerInst, ScalarsPerInst, ScalarsPerInst, 1 > >::Shape | DestinationSkew |
| | Skew added to shared memory tile. More...
|
| |
| typedef GemmMultiplicandTraits< ThreadBlockTile, kUsage, kLayout > | MultiplicandTraits |
| | Traits of multiplicand. More...
|
| |
| typedef MultiplicandTraits::Shape | ScalarTile |
| | Scalar tile shape. More...
|
| |
| typedef ReshapeTile< ScalarTile, kAccessSize >::Tile | VectorizedTile |
| | Reshape for vectorized access. More...
|
| |
| typedef TileTraitsDefault< VectorizedTile, kThreads > | TileTraits |
| | Define structure of stripmined tile. More...
|
| |
| typedef FragmentStream< TileTraits, TileLoadIterator< TileTraits, Scalar, MultiplicandTraits::kKstrided ? IteratorAdvance::kH :IteratorAdvance::kW, MemorySpace::kGlobal, Index >, TileStoreIterator< TileTraits, Scalar, MultiplicandTraits::kKstrided ? IteratorAdvance::kH :IteratorAdvance::kW, MemorySpace::kShared, Index, Scalar, IteratorFragment::kScalar, DestinationSkew > > | FragmentStream |
| | Define the tile stream. More...
|
| |
◆ DestinationSkew
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
| typedef ShapeDiv<DestinationSkew_, Shape<ScalarsPerInst, ScalarsPerInst, ScalarsPerInst, 1> >::Shape cutlass::gemm::GemmFragmentStreamTraits< Usage, Scalar_, Layout, ThreadBlockTile_, Threads, ScalarsPerInst, Index_, DestinationSkew_ >::DestinationSkew |
◆ FragmentStream
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
| typedef FragmentStream< TileTraits, TileLoadIterator<TileTraits, Scalar, MultiplicandTraits::kKstrided ? IteratorAdvance::kH : IteratorAdvance::kW, MemorySpace::kGlobal, Index>, TileStoreIterator<TileTraits, Scalar, MultiplicandTraits::kKstrided ? IteratorAdvance::kH : IteratorAdvance::kW, MemorySpace::kShared, Index, Scalar, IteratorFragment::kScalar, DestinationSkew> > cutlass::gemm::GemmFragmentStreamTraits< Usage, Scalar_, Layout, ThreadBlockTile_, Threads, ScalarsPerInst, Index_, DestinationSkew_ >::FragmentStream |
◆ Index
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
◆ MultiplicandTraits
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
◆ Scalar
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
◆ ScalarTile
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
◆ ThreadBlockTile
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
◆ TileTraits
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
◆ VectorizedTile
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
◆ kAccessSize
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
◆ kLayout
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
◆ kThreads
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
◆ kUsage
template<GemmOperand::Kind Usage, typename Scalar_ , MatrixLayout::Kind Layout, typename ThreadBlockTile_ , int Threads, int ScalarsPerInst, typename Index_ = int, typename DestinationSkew_ = Shape<0, 0, 0, 0>>
The documentation for this struct was generated from the following file: