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 | ( | T | x | ) |

## ◆ is_zero() [2/2]

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