Cutlass
CUDA Templates for Linear Algebra Subroutines and Solvers
Classes | Functions
cutlass::gemm Namespace Reference

Classes

struct  ClearAccumulators
 
struct  ColumnMajorBlockSwizzle
 
struct  DeviceGemm
 
struct  DgemmConfig
 
struct  DgemmTraits
 
struct  Fp16SgemmConfig
 
struct  Fp16SgemmSgemmTraits
 
struct  FragmentMultiplyAdd
 
struct  FragmentMultiplyAdd< half, half, true >
 
struct  Gemm
 
struct  GemmConfig
 
struct  GemmCoord
 
struct  GemmDesc
 GEMM problem description. More...
 
struct  GemmEpilogue
 
struct  GemmEpilogueTraits
 
struct  GemmEpilogueTraitsHelper
 
struct  GemmGlobalIteratorAb
 
struct  GemmGlobalIteratorCd
 
struct  GemmGlobalTileCdTraits
 
struct  GemmGlobalTileTraits
 
struct  GemmMultiplicandTraits
 
struct  GemmOperandTraitsAb
 Helper to describe attributes of GEMM matrix operands. More...
 
struct  GemmSharedLoadTileATraits
 
struct  GemmSharedLoadTileBTraits
 
struct  GemmSharedLoadTileDTraits
 
struct  GemmSharedStoreTileAbTraits
 
struct  GemmSharedStoreTileDTraits
 
struct  GemmSharedStoreWithSkewTileAbTraits
 
struct  GemmTileTraitsHelperA
 
struct  GemmTileTraitsHelperA< MatrixLayout::kColumnMajor, GemmConfig_ >
 
struct  GemmTileTraitsHelperA< MatrixLayout::kRowMajor, GemmConfig_ >
 
struct  GemmTileTraitsHelperB
 
struct  GemmTileTraitsHelperB< MatrixLayout::kColumnMajor, GemmConfig_ >
 
struct  GemmTileTraitsHelperB< MatrixLayout::kRowMajor, GemmConfig_ >
 
struct  GemmTraits
 
struct  GetExtent
 
struct  GetExtent< GemmOperand::kA, Tile_ >
 
struct  GetExtent< GemmOperand::kB, Tile_ >
 
struct  GlobalLoadStream
 
struct  GlobalLoadStreamPair
 Collect the global load streams for multiplicands. More...
 
struct  HgemmConfig
 
struct  HgemmCrosswiseGlobalTileTraits
 
struct  HgemmSwizzle
 
struct  HgemmTileTraitsHelperA
 
struct  HgemmTileTraitsHelperA< MatrixLayout::kRowMajor, GemmConfig_ >
 
struct  HgemmTileTraitsHelperB
 
struct  HgemmTileTraitsHelperB< MatrixLayout::kColumnMajor, GemmConfig_ >
 
struct  HgemmTraits
 
struct  HgemmTraitsHelper
 
struct  HgemmTransformerA
 
struct  HgemmTransformerA< MatrixLayout::kColumnMajor, Iterator_ >
 
struct  HgemmTransformerA< MatrixLayout::kRowMajor, Iterator_ >
 
struct  HgemmTransformerB
 
struct  HgemmTransformerB< MatrixLayout::kColumnMajor, Iterator_ >
 
struct  HgemmTransformerB< MatrixLayout::kRowMajor, Iterator_ >
 
struct  IdentityBlockSwizzle
 
struct  IgemmConfig
 
struct  IgemmConfig< OutputTile_, int8_t, ThreadGemmShape_ >
 
struct  IgemmEpilogue
 
struct  IgemmEpilogue< GemmEpilogueTraits_, true >
 
struct  IgemmEpilogueScalar
 
struct  IgemmEpilogueScalar< int >
 
struct  IgemmEpilogueTraits
 
struct  IgemmEpilogueTraitsHelper
 
struct  IgemmFloatToInt8Converter
 
struct  IgemmGlobalIteratorAb
 
struct  IgemmGlobalLoadTransformer
 
struct  IgemmGlobalLoadTransformer< Fragment< int8_t, kElements_ >, float >
 
struct  IgemmGlobalStoreTransformer
 
struct  IgemmGlobalStoreTransformer< float, Fragment< int8_t, kElements_ > >
 
struct  IgemmGlobalTileTraits
 
struct  IgemmInt8ToFloatConverter
 
struct  IgemmSharedStoreTransformer
 
struct  IgemmSwizzle
 
struct  IgemmTileTraitsHelperA
 
struct  IgemmTileTraitsHelperA< MatrixLayout::kColumnMajor, GemmConfig_, Index_ >
 
struct  IgemmTileTraitsHelperA< MatrixLayout::kRowMajor, GemmConfig_, Index_ >
 
struct  IgemmTileTraitsHelperB
 
struct  IgemmTileTraitsHelperB< MatrixLayout::kColumnMajor, GemmConfig_, Index_ >
 
struct  IgemmTileTraitsHelperB< MatrixLayout::kRowMajor, GemmConfig_, Index_ >
 
struct  IgemmTraits
 
struct  IgemmTraitsHelper
 
struct  IgemmTransformerA
 
struct  IgemmTransformerA< MatrixLayout::kColumnMajor, Iterator_ >
 
struct  IgemmTransformerA< MatrixLayout::kRowMajor, Iterator_ >
 
struct  IgemmTransformerB
 
struct  IgemmTransformerB< MatrixLayout::kColumnMajor, Iterator_ >
 
struct  IgemmTransformerB< MatrixLayout::kRowMajor, Iterator_ >
 
struct  Launch
 Partial specialization for launching the GEMM kernel with or without launch bounds. More...
 
struct  Launch< Gemm, false >
 Partial specialization for launching the GEMM kernel with or without launch bounds. More...
 
struct  LinearScaling
 Functor to compute linear combination of fragments. More...
 
struct  LinearScalingDevicePtr
 
struct  ProjectOperand
 
struct  ProjectOperand< GemmOperand::kA, Kstrided >
 Project A operand - (0, K, M) More...
 
struct  ProjectOperand< GemmOperand::kB, Kstrided >
 Project B operand - (0, K, N) More...
 
struct  ProjectOperand< GemmOperand::kC, true >
 Project C operand - (0, N, M) More...
 
struct  ProjectOperand< GemmOperand::kD, true >
 Project D operand - (0, N, M) More...
 
struct  ReshapeThreads
 
struct  ReshapeThreads< Tile_, Threads_, true >
 
struct  RowMajorBlockSwizzle
 
struct  SgemmConfig
 
struct  SgemmLBTraits
 Helper to define SGEMM traits using Launch Bounds. More...
 
struct  SgemmTraits
 
struct  SharedLoadStream
 
struct  SharedStreamPair
 Collect the global load streams for multiplicands. More...
 
struct  SimplifiedGemmEpilogueTraits
 
struct  SimplifiedGemmTraits
 
struct  SimplifiedGemmTraitsHelper
 
struct  SplitkPIGemmTraits
 
struct  swizzleDirection
 
struct  ThreadMultiplyAdd
 Template performing matrix multiply-add operation within a thread. More...
 
struct  ThreadMultiplyAdd< ThreadGemmShape_, ThreadsPerWarp_, half, half, float >
 Template performing matrix multiply-add operation within a thread. More...
 
struct  ThreadMultiplyAdd< ThreadGemmShape_, ThreadsPerWarp_, half, half, half >
 Template performing matrix multiply-add operation within a thread. More...
 
struct  ThreadMultiplyAdd< ThreadGemmShape_, ThreadsPerWarp_, int8_t, int8_t, int >
 Template performing matrix multiply-add operation within a thread. More...
 
struct  WmmaGemmGlobalIteratorCd
 
struct  WmmaGemmGlobalIteratorCdTraits
 

Functions

template<typename Gemm_ >
__global__ __launch_bounds__ (Gemm_::kThreads) void gemm_kernel(typename Gemm_
 GEMM kernel with launch bounds specified. More...
 
template<typename Gemm_ >
__global__ void gemm_kernel_nolb (typename Gemm_::Params params)
 GEMM kernel without launch bounds specified. More...
 
template<typename T >
CUTLASS_DEVICE bool is_zero (T x)
 
CUTLASS_DEVICE bool is_zero (half x)
 
template<enum swizzleDirection::Kind >
CUTLASS_DEVICE int getLinearIdx (int groups)
 
template<>
CUTLASS_DEVICE int getLinearIdx< swizzleDirection::Boustrophedon > (int groups)
 

Function Documentation

◆ __launch_bounds__()

template<typename Gemm_ >
__global__ cutlass::gemm::__launch_bounds__ ( Gemm_::kThreads  )

◆ gemm_kernel_nolb()

template<typename Gemm_ >
__global__ void cutlass::gemm::gemm_kernel_nolb ( typename Gemm_::Params  params)

◆ getLinearIdx()

template<enum swizzleDirection::Kind >
CUTLASS_DEVICE int cutlass::gemm::getLinearIdx ( int  groups)

◆ getLinearIdx< swizzleDirection::Boustrophedon >()

template<>
CUTLASS_DEVICE int cutlass::gemm::getLinearIdx< swizzleDirection::Boustrophedon > ( int  groups)

◆ is_zero() [1/2]

template<typename T >
CUTLASS_DEVICE bool cutlass::gemm::is_zero ( x)

◆ is_zero() [2/2]

CUTLASS_DEVICE bool cutlass::gemm::is_zero ( half  x)