Cutlass
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Types | Static Public Attributes | List of all members
cutlass::gemm::GemmMultiplicandTraits< ThreadBlockTile_, Usage, Layout > Struct Template Reference

#include <gemm_operand.h>

Public Types

typedef ThreadBlockTile_ ThreadBlockTile
 Shape of GEMM thread block tile (K, N, M) More...
 
typedef platform::conditional< kKstrided, Shape< 1, ThreadBlockTile::kD, GetExtent< Usage, ThreadBlockTile >::kExtent >, Shape< 1, GetExtent< Usage, ThreadBlockTile >::kExtent, ThreadBlockTile::kD > >::type Shape
 Map the ThreadBlockShape onto (kH, kW) dimensions for A and B operand. More...
 

Static Public Attributes

static GemmOperand::Kind const kUsage = Usage
 Identifies multiplicand. More...
 
static MatrixLayout::Kind const kLayout = Layout
 Layout of tile. More...
 
static bool const kKstrided = (kUsage == GemmOperand::kA ^ kLayout == MatrixLayout::kRowMajor)
 

Detailed Description

template<typename ThreadBlockTile_, GemmOperand::Kind Usage, MatrixLayout::Kind Layout>
struct cutlass::gemm::GemmMultiplicandTraits< ThreadBlockTile_, Usage, Layout >

Determines the shape of a multiplicand tile in terms of strided (H) and contiguous (W) dimensions

Member Typedef Documentation

◆ Shape

template<typename ThreadBlockTile_ , GemmOperand::Kind Usage, MatrixLayout::Kind Layout>
typedef platform::conditional< kKstrided, Shape<1, ThreadBlockTile::kD, GetExtent<Usage, ThreadBlockTile>::kExtent>, Shape<1, GetExtent<Usage, ThreadBlockTile>::kExtent, ThreadBlockTile::kD> >::type cutlass::gemm::GemmMultiplicandTraits< ThreadBlockTile_, Usage, Layout >::Shape

◆ ThreadBlockTile

template<typename ThreadBlockTile_ , GemmOperand::Kind Usage, MatrixLayout::Kind Layout>
typedef ThreadBlockTile_ cutlass::gemm::GemmMultiplicandTraits< ThreadBlockTile_, Usage, Layout >::ThreadBlockTile

Member Data Documentation

◆ kKstrided

template<typename ThreadBlockTile_ , GemmOperand::Kind Usage, MatrixLayout::Kind Layout>
bool const cutlass::gemm::GemmMultiplicandTraits< ThreadBlockTile_, Usage, Layout >::kKstrided = (kUsage == GemmOperand::kA ^ kLayout == MatrixLayout::kRowMajor)
static

◆ kLayout

template<typename ThreadBlockTile_ , GemmOperand::Kind Usage, MatrixLayout::Kind Layout>
MatrixLayout::Kind const cutlass::gemm::GemmMultiplicandTraits< ThreadBlockTile_, Usage, Layout >::kLayout = Layout
static

◆ kUsage

template<typename ThreadBlockTile_ , GemmOperand::Kind Usage, MatrixLayout::Kind Layout>
GemmOperand::Kind const cutlass::gemm::GemmMultiplicandTraits< ThreadBlockTile_, Usage, Layout >::kUsage = Usage
static

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