Cutlass CUDA Templates for Linear Algebra Subroutines and Solvers

Classes | Public Types | Static Public Attributes | List of all members
cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ > Struct Template Reference

`#include <gemm_global_tile.h>`

Inheritance diagram for cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >:

## Classes
struct | ThreadOffset
| Computes the thread offset in (H, W) based on thread ID. More...

## Public Types
typedef platform::remove_const< Scalar_ >::type | Scalar
| The scalar. More...
typedef Scalar_ * | Pointer
| The pointer. More...
typedef Tile_ | Tile
| The tile shape. More...
typedef ReshapeTile< Tile_, kAccessSize_ >::Tile | VectorizedTile
| The vectorized tile shape. More...
typedef ReshapeThreads< VectorizedTile, Threads_ >::Threads | Threads
| The threads shape. More...
typedef Shape< 1, 1, VectorizedTile::kC > | ThreadsDelta
| The relative offset between two elements in the H/W dimension in adjacent threads. More...
typedef Shape< 0, Threads::kH, Threads::kW *kAccessSize > | Delta
| The strides in each dimension between different loads/stores. More...
typedef Shape< 0, 0, Threads::kW *ThreadsDelta::kW, kAccessSize > | ImmediateOffsetStrides
| Strides for immediate offset computation. More...
typedef Shape< 1, VectorizedTile::kH/Threads::kH, VectorizedTile::kW/Threads::kW, VectorizedTile::kC/kAccessSize > | Iterations
| The number of iterations needed to load/store the tile. More...
typedef GemmMultiplicandTraits< Tile, kOperand, kLayout > | MultiplicandTraits

## Static Public Attributes
static GemmOperand::Kind const | kOperand = kOperand_
| Identity of the operand. More...
static MatrixLayout::Kind const | kLayout = kLayout_
| The layout. More...
static int const | kAccessSize = kAccessSize_
| The number of scalars per LDG/STG. More...
static MemorySpace::Kind const | kMemorySpace = MemorySpace::kGlobal
| The memory space. More...

## Member Typedef Documentation

## ◆ Delta

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

typedef Shape<0, Threads::kH, Threads::kW * kAccessSize> cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::Delta

## ◆ ImmediateOffsetStrides

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

typedef Shape<0, 0, Threads::kW * ThreadsDelta::kW, kAccessSize> cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::ImmediateOffsetStrides

## ◆ Iterations

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

typedef Shape<1, VectorizedTile::kH / Threads::kH, VectorizedTile::kW / Threads::kW, VectorizedTile::kC / kAccessSize> cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::Iterations

## ◆ MultiplicandTraits

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

typedef GemmMultiplicandTraits<Tile, kOperand, kLayout> cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::MultiplicandTraits

## ◆ Pointer

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

typedef Scalar_* cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::Pointer

## ◆ Scalar

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

typedef platform::remove_const<Scalar_>::type cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::Scalar

## ◆ Threads

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

typedef ReshapeThreads<VectorizedTile, Threads_>::Threads cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::Threads

## ◆ ThreadsDelta

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

typedef Shape<1, 1, VectorizedTile::kC> cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::ThreadsDelta

## ◆ Tile

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

typedef Tile_ cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::Tile

## ◆ VectorizedTile

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

typedef ReshapeTile<Tile_, kAccessSize_>::Tile cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::VectorizedTile

## Member Data Documentation

## ◆ kAccessSize

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

int const cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::kAccessSize = kAccessSize_
| static

## ◆ kLayout

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

MatrixLayout::Kind const cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::kLayout = kLayout_
| static

## ◆ kMemorySpace

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

MemorySpace::Kind const cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::kMemorySpace = MemorySpace::kGlobal
| static

## ◆ kOperand

template<GemmOperand::Kind kOperand_, MatrixLayout::Kind kLayout_, typename Scalar_, typename Tile_, typename Threads_, int kAccessSize_>

GemmOperand::Kind const cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::kOperand = kOperand_
| static

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

- gemm_global_tile.h