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: