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 ReshapeTile< Tile_, kAccessSize_ >::Tile | Tile
| The tile shape. More...
typedef ReshapeThreads< Tile, Threads_ >::Threads | Threads
| The threads shape. More...
typedef Shape< 1, 1, Tile::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, Tile::kH/Threads::kH, Tile::kW/Threads::kW, Tile::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, Tile::kH / Threads::kH, Tile::kW / Threads::kW, Tile::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<Tile, 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, Tile::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 ReshapeTile<Tile_, kAccessSize_>::Tile cutlass::gemm::GemmGlobalTileTraits< kOperand_, kLayout_, Scalar_, Tile_, Threads_, kAccessSize_ >::Tile

## 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