Cutlass CUDA Templates for Linear Algebra Subroutines and Solvers

Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1 2 3 4]

▶N cutlass |
▶N detail |
C ScalarOrPointer |
▶N gemm |
▶C ClearAccumulators |
C SharedStorage | The shared storage
C ColumnMajorBlockSwizzle |
C DeviceGemm |
C DgemmConfig |
C DgemmTraits |
C Fp16SgemmConfig |
C Fp16SgemmSgemmTraits |
C FragmentMultiplyAdd |
C FragmentMultiplyAdd< half, half, true > |
C Gemm |
C GemmConfig |
C GemmCoord |
C GemmDesc | GEMM problem description
C GemmEpilogue |
▶C GemmEpilogueTraits |
C Params | The params
C SharedStorage | The shared memory to swizzle the data in the epilogue
C StreamSharedStorage | The shared memory storage to exchange data
C GemmEpilogueTraitsHelper |
▶C GemmGlobalIteratorAb |
C Params |
▶C GemmGlobalIteratorCd |
C Params | The params
▶C GemmGlobalTileCdTraits |
C ThreadOffset | Computes the thread offset in (H, W) based on thread ID
▶C GemmGlobalTileTraits |
C ThreadOffset | Computes the thread offset in (H, W) based on thread ID
C GemmMultiplicandTraits |
C GemmOperandTraitsAb | Helper to describe attributes of GEMM matrix operands
▶C GemmSharedLoadTileATraits |
C ThreadOffset | Computes the thread offset in (H, W) based on thread ID
▶C GemmSharedLoadTileBTraits |
C ThreadOffset | Computes the thread offset in (H, W) based on thread ID
▶C GemmSharedLoadTileDTraits |
C ThreadOffset | Computes the thread offset in (H, W) based on thread ID
▶C GemmSharedStoreTileAbTraits |
C ThreadOffset |
▶C GemmSharedStoreTileDTraits |
C ThreadOffset | Computes the thread offset in (H, W) based on thread ID
▶C GemmSharedStoreWithSkewTileAbTraits |
C ThreadOffset |
C GemmTileTraitsHelperA |
C GemmTileTraitsHelperA< MatrixLayout::kColumnMajor, GemmConfig_ > |
C GemmTileTraitsHelperA< MatrixLayout::kRowMajor, GemmConfig_ > |
C GemmTileTraitsHelperB |
C GemmTileTraitsHelperB< MatrixLayout::kColumnMajor, GemmConfig_ > |
C GemmTileTraitsHelperB< MatrixLayout::kRowMajor, GemmConfig_ > |
▶C GemmTraits |
C MainLoopSharedStorage |
C Params | Parameters object constructable on the host
C SharedStorage | The storage in shared memory
C GetExtent |
C GetExtent< GemmOperand::kA, Tile_ > |
C GetExtent< GemmOperand::kB, Tile_ > |
▶C GlobalLoadStream |
C Params | The params
C SharedStorage |
▶C GlobalLoadStreamPair | Collect the global load streams for multiplicands
C Params | Parameters object
C SharedStorage | Defines a structure containing shared storage for each pair
C HgemmConfig |
▶C HgemmCrosswiseGlobalTileTraits |
C ThreadOffset | Computes the thread offset in (H, W) based on thread ID
C HgemmSwizzle |
C HgemmTileTraitsHelperA |
C HgemmTileTraitsHelperA< MatrixLayout::kRowMajor, GemmConfig_ > |
C HgemmTileTraitsHelperB |
C HgemmTileTraitsHelperB< MatrixLayout::kColumnMajor, GemmConfig_ > |
C HgemmTraits |
C HgemmTraitsHelper |
C HgemmTransformerA |
C HgemmTransformerA< MatrixLayout::kColumnMajor, Iterator_ > |
C HgemmTransformerA< MatrixLayout::kRowMajor, Iterator_ > |
C HgemmTransformerB |
C HgemmTransformerB< MatrixLayout::kColumnMajor, Iterator_ > |
C HgemmTransformerB< MatrixLayout::kRowMajor, Iterator_ > |
C IdentityBlockSwizzle |
C IgemmConfig |
C IgemmConfig< OutputTile_, int8_t, ThreadGemmShape_ > |
C IgemmEpilogue |
C IgemmEpilogue< GemmEpilogueTraits_, true > |
C IgemmEpilogueScalar |
C IgemmEpilogueScalar< int > |
C IgemmEpilogueTraits |
C IgemmEpilogueTraitsHelper |
C IgemmFloatToInt8Converter |
C IgemmGlobalIteratorAb |
C IgemmGlobalLoadTransformer |
C IgemmGlobalLoadTransformer< Fragment< int8_t, kElements_ >, float > |
C IgemmGlobalStoreTransformer |
C IgemmGlobalStoreTransformer< float, Fragment< int8_t, kElements_ > > |
▶C IgemmGlobalTileTraits |
C ThreadOffset | Computes the thread offset in (H, W) based on thread ID
C IgemmInt8ToFloatConverter |
C IgemmSharedStoreTransformer |
C IgemmSwizzle |
C IgemmTileTraitsHelperA |
C IgemmTileTraitsHelperA< MatrixLayout::kColumnMajor, GemmConfig_, Index_ > |
C IgemmTileTraitsHelperA< MatrixLayout::kRowMajor, GemmConfig_, Index_ > |
C IgemmTileTraitsHelperB |
C IgemmTileTraitsHelperB< MatrixLayout::kColumnMajor, GemmConfig_, Index_ > |
C IgemmTileTraitsHelperB< MatrixLayout::kRowMajor, GemmConfig_, Index_ > |
C IgemmTraits |
C IgemmTraitsHelper |
C IgemmTransformerA |
C IgemmTransformerA< MatrixLayout::kColumnMajor, Iterator_ > |
C IgemmTransformerA< MatrixLayout::kRowMajor, Iterator_ > |
C IgemmTransformerB |
C IgemmTransformerB< MatrixLayout::kColumnMajor, Iterator_ > |
C IgemmTransformerB< MatrixLayout::kRowMajor, Iterator_ > |
C Launch | Partial specialization for launching the GEMM kernel with or without launch bounds
C Launch< Gemm, false > | Partial specialization for launching the GEMM kernel with or without launch bounds
▶C LinearScaling | Functor to compute linear combination of fragments
C Params | The parameters
▶C LinearScalingDevicePtr |
C Params | The parameters
C ProjectOperand |
C ProjectOperand< GemmOperand::kA, Kstrided > | Project A operand - (0, K, M)
C ProjectOperand< GemmOperand::kB, Kstrided > | Project B operand - (0, K, N)
C ProjectOperand< GemmOperand::kC, true > | Project C operand - (0, N, M)
C ProjectOperand< GemmOperand::kD, true > | Project D operand - (0, N, M)
C ReshapeThreads |
C ReshapeThreads< Tile_, Threads_, true > |
C RowMajorBlockSwizzle |
C SgemmConfig |
C SgemmLBTraits | Helper to define SGEMM traits using Launch Bounds
C SgemmTraits |
▶C SharedLoadStream |
C Params | The params
▶C SharedStreamPair | Collect the global load streams for multiplicands
C Params | Parameters object passed to load iterators
C SimplifiedGemmEpilogueTraits |
C SimplifiedGemmTraits |
C SimplifiedGemmTraitsHelper |
▶C SplitkPIGemmTraits |
C Params |
C swizzleDirection |
C ThreadMultiplyAdd | Template performing matrix multiply-add operation within a thread
C ThreadMultiplyAdd< ThreadGemmShape_, ThreadsPerWarp_, half, half, float > | Template performing matrix multiply-add operation within a thread
C ThreadMultiplyAdd< ThreadGemmShape_, ThreadsPerWarp_, half, half, half > | Template performing matrix multiply-add operation within a thread
C ThreadMultiplyAdd< ThreadGemmShape_, ThreadsPerWarp_, int8_t, int8_t, int > | Template performing matrix multiply-add operation within a thread
▶C WmmaGemmGlobalIteratorCd |
C Params | The params
▶C WmmaGemmGlobalIteratorCdTraits |
C ThreadOffset | Computes the thread offset in (H, W) based on thread ID
▶N MatrixLayout | Defines data layouts of various matrix formats usable by TensorRef and other classes
C ColumnMajor | Mapping function for column-major matrices
C ColumnMajorBlockLinear |
C ColumnMajorInterleaved |
C ContiguousLayout |
C RowMajor | Mapping function for row-major matrices
C RowMajorBlockLinear |
C RowMajorInterleaved |
▶N platform |
C aligned_chunk |
C aligned_storage | Std::aligned_storage
▶C alignment_of | Std::alignment_of
C pad |
C alignment_of< const value_t > |
C alignment_of< const volatile value_t > |
C alignment_of< double2 > |
C alignment_of< double4 > |
C alignment_of< float4 > |
C alignment_of< int4 > |
C alignment_of< long4 > |
C alignment_of< longlong2 > |
C alignment_of< longlong4 > |
C alignment_of< uint4 > |
C alignment_of< ulong4 > |
C alignment_of< ulonglong2 > |
C alignment_of< ulonglong4 > |
C alignment_of< volatile value_t > |
C bool_constant | Std::bool_constant
C complex |
C conditional | Std::conditional (true specialization)
C conditional< false, T, F > | Std::conditional (false specialization)
C default_delete | Default deleter
C default_delete< T[]> | Partial specialization for deleting array types
C enable_if | Std::enable_if (true specialization)
C enable_if< false, T > | Std::enable_if (false specialization)
C greater | Std::greater
C integral_constant | Std::integral_constant
C is_arithmetic | Std::is_arithmetic
C is_base_of | Std::is_base_of
▶C is_base_of_helper | Helper for std::is_base_of
C dummy |
C is_floating_point | Std::is_floating_point
C is_fundamental | Std::is_fundamental
C is_integral | Std::is_integral
C is_integral< char > |
C is_integral< const T > |
C is_integral< const volatile T > |
C is_integral< int > |
C is_integral< long > |
C is_integral< long long > |
C is_integral< short > |
C is_integral< signed char > |
C is_integral< unsigned char > |
C is_integral< unsigned int > |
C is_integral< unsigned long > |
C is_integral< unsigned long long > |
C is_integral< unsigned short > |
C is_integral< volatile T > |
C is_pointer | Std::is_pointer
C is_pointer_helper | Helper for std::is_pointer (false specialization)
C is_pointer_helper< T * > | Helper for std::is_pointer (true specialization)
C is_same | Std::is_same (false specialization)
C is_same< A, A > | Std::is_same (true specialization)
C is_trivially_copyable |
C is_void | Std::is_void
C is_volatile | Std::is_volatile
C is_volatile< volatile T > |
C less | Std::less
C nullptr_t | Std::nullptr_t
C Pair | Constructs an iterator from a pair of iterators
C plus | Platform::plus
C remove_const | Std::remove_const (non-const specialization)
C remove_const< const T > | Std::remove_const (const specialization)
C remove_cv | Std::remove_cv
C remove_volatile | Std::remove_volatile (non-volatile specialization)
C remove_volatile< volatile T > | Std::remove_volatile (volatile specialization)
C unique_ptr | Std::unique_ptr
▶N reduction |
C BatchedReduction |
▶C BatchedReductionTraits |
C Params |
C DefaultBlockSwizzle |
C AlignedStruct |
C bin1_t |
C ComputeOffsetFromShape | Compute the offset for the given coordinates in a cube
C ComputeOffsetFromStrides | Compute the offset for the given coordinates in a cube
C ComputeThreadOffsetFromStrides | Decompose threadId.x into coordinate of a cube whose dimensions are specified by Threads_. Afterwards compute the offset of those coordinates using Strides_
C ComputeThreadOffsetFromStrides< Shape< 1, T_h_, T_w_, 1 >, Shape< 1, S_h_, S_w_, 1 > > | Specialization for D=1 and C=1
C ComputeThreadOffsetFromStrides< Shape< 1, T_h_, T_w_, T_c_ >, Shape< 1, S_h_, S_w_, S_c_ > > | Specialization for D=1
C ConstPredicateTileAdapter | Adapter to enable random access to predicates via logical coordinate within a tile
C Convert |
C Convert< Fragment< InputScalar_, kScalars_ >, Fragment< OutputScalar_, kScalars_ > > |
C Coord | Statically-sized array specifying Coords within a tensor
C Copy |
C divide_assert |
C DumpType |
C Extent | Returns the extent of a scalar or vector
C Extent< Vector< T, Lanes > > | Returns the number of lanes of a vector if need be
C Extent< Vector< T, Lanes > const > | Returns the number of lanes of a vector if need be
C Fragment | A template defining Fragment Concept
C FragmentConstIterator |
C FragmentElementType | Specifies whether iterator storage fragment consists of Scalar values or WMMA matrix
C FragmentIterator | A template defining Fragment Iterator Concept
C GemmOperand | Gemm operand - D = A * B + C
C Identity | Describes identity elements
C IdentityTensorMapFunc |
C int4_t |
C is_pow2 |
C IteratorAdvance | Specifies dimension in which post-increment accesses advance
C KernelLaunchConfiguration | Structure containing the basic launch configuration of a CUDA kernel
C Load |
C Load< double, 2, Memory_, FragmentElementType::kScalar, double, kStride, 16 > |
C Load< Scalar_, kAccessSize, Memory_, FragmentElementType::kScalar, Scalar_, 1, 2 > | Partial specialization for 16b loads
C Load< Scalar_, kAccessSize, Memory_, FragmentElementType::kScalar, Scalar_, kStride, 16 > |
C Load< Scalar_, kAccessSize, Memory_, FragmentElementType::kScalar, Scalar_, kStride, 4 > |
C Load< Scalar_, kAccessSize, Memory_, FragmentElementType::kScalar, Scalar_, kStride, 8 > |
C Load< Scalar_, kAccessSize, Memory_, FragmentElementType::kWmmaMatrix, FragmentElement_, kStride, size > |
C Load< Vector< bin1_t, 32 >, kAccessSize, Memory_, FragmentElementType::kWmmaMatrix, FragmentElement_, kStride, size > |
C Load< Vector< int4_t, 8 >, kAccessSize, Memory_, FragmentElementType::kWmmaMatrix, FragmentElement_, kStride, size > |
C Load< Vector< uint4_t, 8 >, kAccessSize, Memory_, FragmentElementType::kWmmaMatrix, FragmentElement_, kStride, size > |
C log2_down |
C log2_down< N, 1, Count > |
C log2_up |
C log2_up< N, 1, Count > |
C MatrixCoord |
C MatrixTransform | Transformation applied to matrix operands
C Max |
C MemorySpace | Enum to specify which memory space data resides in
C Min |
C PredicatedTileLoadStream | Generic stream for loading and transforming fragments
C PredicatedTileStoreStream | Generic stream for transforming and storing fragments
C PredicateTileAdapter | Adapter to enable random access to predicates via logical coordinate within a tile
▶C PredicateVector | Statically sized array of bits implementing
C ConstIterator | A const iterator implementing Predicate Iterator Concept enabling sequential read-only access to prediactes
C Iterator | An iterator implementing Predicate Iterator Concept enabling sequential read and write access to predicates
C TrivialIterator | Iterator that always returns true
C RegularTilePredicateFunctor | Functor computing a predicate given the logical position of an access
C ReshapeTile |
C ReshapeTile< Tile_, kAccessSize_, true > |
C ScalarIO | Helper to enable formatted printing of CUTLASS scalar types to an ostream
C Shape | A Shape implementing Layout Concept describing the dimensions of a cube
C ShapeAdd |
C ShapeCount | Compute derived counted of a Layout Concept based class
C ShapeDiv |
C ShapeDivCeiling |
C ShapeMax |
C ShapeMin |
C ShapeMul |
C ShapeScale |
C ShapeStrides |
C ShapeSub |
C sqrt_est |
C StorageType |
C StorageType< 1 > |
C StorageType< 2 > |
C StorageType< 4 > |
C Store |
C Store< double, 2, Memory_, FragmentElementType::kScalar, double, kStride, 16 > |
C Store< Scalar_, kAccessSize, Memory_, FragmentElementType::kScalar, Scalar_, 1, 2 > |
C Store< Scalar_, kAccessSize, Memory_, FragmentElementType::kScalar, Scalar_, kStride, 16 > |
C Store< Scalar_, kAccessSize, Memory_, FragmentElementType::kScalar, Scalar_, kStride, 4 > |
C Store< Scalar_, kAccessSize, Memory_, FragmentElementType::kScalar, Scalar_, kStride, 8 > |
C Store< Scalar_, kAccessSize, Memory_, FragmentElementType::kWmmaMatrix, FragmentElement_, kStride, size > |
C TensorRef |
▶C TensorRef< Storage_, Rank_, MapFunc_, 1, Index_, LongIndex_ > | Specialization for rank=1 case with no internal StrideVector
C StrideVector |
▶C TensorRefArray |
C ConstIterator | TensorRefIterator over TensorRef objects in TensorRefArray
▶C TensorRefBatchStrided |
C ConstIterator | Constant iterator over tensors implied by TensorRefBatchStrided
C TensorView | Defines a view into a logical tensor
C TileAllocation | Class for storing a tile in memory and accessing it through a tensor ref
C TileCoord |
C TiledThreadOffset | Basic thread offset function computed from a thread shape
▶C TileIteratorBase | Iterator for accessing a stripmined tile in memory
C Params | Parameters to the iterator
▶C TileLoadIterator | An iterator implementing Tile Load Iterator Concept for loading a tile from memory
C Params | Parameters
▶C TileLoadStream | Generic stream for loading and transforming fragments
C Params | Parameters object used to construct generic load stream
C PredicateVector | Empty predicate vector struct
▶C TileStoreIterator | An iterator implementing Tile Store Iterator Concept for storing a tile to memory
C Params | Parameters
▶C TileStoreStream | Generic stream for transforming and storing fragments
C Params | Parameters used to construct the stream
C PredicateVector | Empty predicate vector struct
C TileTraits | A template defining Tile Traits Concept
C TileTraitsContiguousMajor |
C TileTraitsStandard | Chooses 'best' shape to enable warp raking along contiguous dimension if possible
C TileTraitsStrideMajor |
▶C TileTraitsWarpRake | Tiling in which warps rake across the contiguous dimension
C ThreadOffset | Computes the thread offset in (H, W) based on thread ID
C TrivialPredicateTileAdapter | Always returns true predicate
C uint4_t |
C Vector |
C Vector< bin1_t, kLanes_ > | Vector definition for 1-bit binary datatype
C Vector< half, 1 > |
C Vector< half, kLanes_ > |
C Vector< int4_t, kLanes_ > | Vector definition for 4-bit signed integer datatype
C Vector< uint4_t, kLanes_ > | Vector definition for 4-bit unsigned integer datatype
C Vectorize |
C Vectorize< Vector< bin1_t, 32 >, kLanes_ > |
C Vectorize< Vector< int4_t, 8 >, kLanes_ > |
C Vectorize< Vector< uint4_t, 8 >, kLanes_ > |
C VectorTraits | Traits describing properties of vectors and scalar-as-vectors
C VectorTraits< Vector< T, Lanes > > | Partial specialization for actual cutlass::Vector
C VectorTraits< Vector< T, Lanes > const > | Partial specialization for actual cutlass::Vector
C WmmaReshapeTile |
C WmmaReshapeTile< Tile_, kAccessSize_, kLdsPerAccess_, true > |
C ZipConvert | Zips two convert operations
C ZipFragment | A template defining Fragment Concept
C ZipTensorRef |
C ZipTileAllocation | Manages a pair of tile allocations as if they are one allocation
▶C ZipTileIterator | Constructs an iterator from a pair of iterators
C Params | Params object
C DebugType |
C DebugValue |