CUTLASS 2.0 (#62)
CUTLASS 2.0 Substantially refactored for - Better performance, particularly for native Turing Tensor Cores - Robust and durable templates spanning the design space - Encapsulated functionality embodying modern C++11 programming techniques - Optimized containers and data types for efficient, generic, portable device code Updates to: - Quick start guide - Documentation - Utilities - CUTLASS Profiler Native Turing Tensor Cores - Efficient GEMM kernels targeting Turing Tensor Cores - Mixed-precision floating point, 8-bit integer, 4-bit integer, and binarized operands Coverage of existing CUTLASS functionality: - GEMM kernels targeting CUDA and Tensor Cores in NVIDIA GPUs - Volta Tensor Cores through native mma.sync and through WMMA API - Optimizations such as parallel reductions, threadblock rasterization, and intra-threadblock reductions - Batched GEMM operations - Complex-valued GEMMs Note: this commit and all that follow require a host compiler supporting C++11 or greater.
This commit is contained in:
+31
-19
@@ -1,29 +1,41 @@
|
||||
var searchData=
|
||||
[
|
||||
['clearaccumulators',['ClearAccumulators',['../structcutlass_1_1gemm_1_1ClearAccumulators.html',1,'cutlass::gemm']]],
|
||||
['columnmajor',['ColumnMajor',['../structcutlass_1_1MatrixLayout_1_1ColumnMajor.html',1,'cutlass::MatrixLayout']]],
|
||||
['columnmajorblocklinear',['ColumnMajorBlockLinear',['../structcutlass_1_1MatrixLayout_1_1ColumnMajorBlockLinear.html',1,'cutlass::MatrixLayout']]],
|
||||
['columnmajorblockswizzle',['ColumnMajorBlockSwizzle',['../structcutlass_1_1gemm_1_1ColumnMajorBlockSwizzle.html',1,'cutlass::gemm']]],
|
||||
['columnmajorinterleaved',['ColumnMajorInterleaved',['../structcutlass_1_1MatrixLayout_1_1ColumnMajorInterleaved.html',1,'cutlass::MatrixLayout']]],
|
||||
['complex',['complex',['../classcutlass_1_1platform_1_1complex.html',1,'cutlass::platform']]],
|
||||
['computeoffsetfromshape',['ComputeOffsetFromShape',['../structcutlass_1_1ComputeOffsetFromShape.html',1,'cutlass']]],
|
||||
['computeoffsetfromstrides',['ComputeOffsetFromStrides',['../structcutlass_1_1ComputeOffsetFromStrides.html',1,'cutlass']]],
|
||||
['computethreadoffsetfromstrides',['ComputeThreadOffsetFromStrides',['../structcutlass_1_1ComputeThreadOffsetFromStrides.html',1,'cutlass']]],
|
||||
['computethreadoffsetfromstrides_3c_20shape_3c_201_2c_20t_5fh_5f_2c_20t_5fw_5f_2c_201_20_3e_2c_20shape_3c_201_2c_20s_5fh_5f_2c_20s_5fw_5f_2c_201_20_3e_20_3e',['ComputeThreadOffsetFromStrides< Shape< 1, T_h_, T_w_, 1 >, Shape< 1, S_h_, S_w_, 1 > >',['../structcutlass_1_1ComputeThreadOffsetFromStrides_3_01Shape_3_011_00_01T__h___00_01T__w___00_011_0e75281d7e02fa191f5d498e10e25dc1b.html',1,'cutlass']]],
|
||||
['computethreadoffsetfromstrides_3c_20shape_3c_201_2c_20t_5fh_5f_2c_20t_5fw_5f_2c_20t_5fc_5f_20_3e_2c_20shape_3c_201_2c_20s_5fh_5f_2c_20s_5fw_5f_2c_20s_5fc_5f_20_3e_20_3e',['ComputeThreadOffsetFromStrides< Shape< 1, T_h_, T_w_, T_c_ >, Shape< 1, S_h_, S_w_, S_c_ > >',['../structcutlass_1_1ComputeThreadOffsetFromStrides_3_01Shape_3_011_00_01T__h___00_01T__w___00_01T__dd54c41f6edb97d3c208cb7c6fe4ab9b.html',1,'cutlass']]],
|
||||
['cast',['Cast',['../structcutlass_1_1reference_1_1detail_1_1Cast.html',1,'cutlass::reference::detail']]],
|
||||
['cast_3c_20float_2c_20int8_5ft_20_3e',['Cast< float, int8_t >',['../structcutlass_1_1reference_1_1detail_1_1Cast_3_01float_00_01int8__t_01_4.html',1,'cutlass::reference::detail']]],
|
||||
['cast_3c_20float_2c_20uint8_5ft_20_3e',['Cast< float, uint8_t >',['../structcutlass_1_1reference_1_1detail_1_1Cast_3_01float_00_01uint8__t_01_4.html',1,'cutlass::reference::detail']]],
|
||||
['columnmajor',['ColumnMajor',['../classcutlass_1_1layout_1_1ColumnMajor.html',1,'cutlass::layout']]],
|
||||
['columnmajorblocklinear',['ColumnMajorBlockLinear',['../structcutlass_1_1layout_1_1ColumnMajorBlockLinear.html',1,'cutlass::layout']]],
|
||||
['columnmajorinterleaved',['ColumnMajorInterleaved',['../structcutlass_1_1layout_1_1ColumnMajorInterleaved.html',1,'cutlass::layout']]],
|
||||
['columnmajorinterleaved_3c_204_20_3e',['ColumnMajorInterleaved< 4 >',['../structcutlass_1_1layout_1_1ColumnMajorInterleaved.html',1,'cutlass::layout']]],
|
||||
['columnmajortensoropmultiplicandcongruous',['ColumnMajorTensorOpMultiplicandCongruous',['../structcutlass_1_1layout_1_1ColumnMajorTensorOpMultiplicandCongruous.html',1,'cutlass::layout']]],
|
||||
['columnmajortensoropmultiplicandcrosswise',['ColumnMajorTensorOpMultiplicandCrosswise',['../structcutlass_1_1layout_1_1ColumnMajorTensorOpMultiplicandCrosswise.html',1,'cutlass::layout']]],
|
||||
['columnmajorvoltatensoropmultiplicandbcongruous',['ColumnMajorVoltaTensorOpMultiplicandBCongruous',['../structcutlass_1_1layout_1_1ColumnMajorVoltaTensorOpMultiplicandBCongruous.html',1,'cutlass::layout']]],
|
||||
['columnmajorvoltatensoropmultiplicandcongruous',['ColumnMajorVoltaTensorOpMultiplicandCongruous',['../structcutlass_1_1layout_1_1ColumnMajorVoltaTensorOpMultiplicandCongruous.html',1,'cutlass::layout']]],
|
||||
['columnmajorvoltatensoropmultiplicandcrosswise',['ColumnMajorVoltaTensorOpMultiplicandCrosswise',['../structcutlass_1_1layout_1_1ColumnMajorVoltaTensorOpMultiplicandCrosswise.html',1,'cutlass::layout']]],
|
||||
['commandline',['CommandLine',['../structcutlass_1_1CommandLine.html',1,'cutlass']]],
|
||||
['compactedthreadmap',['CompactedThreadMap',['../structcutlass_1_1epilogue_1_1threadblock_1_1OutputTileOptimalThreadMap_1_1CompactedThreadMap.html',1,'cutlass::epilogue::threadblock::OutputTileOptimalThreadMap']]],
|
||||
['complex',['complex',['../classcutlass_1_1complex.html',1,'cutlass']]],
|
||||
['conditional',['conditional',['../structcutlass_1_1platform_1_1conditional.html',1,'cutlass::platform']]],
|
||||
['conditional_3c_20_28_28ksizebits_2532_29_21_3d0_29_2c_20typename_20platform_3a_3aconditional_3c_20_28_28ksizebits_2516_29_21_3d0_29_2c_20uint8_5ft_2c_20uint16_5ft_20_3e_3a_3atype_2c_20uint32_5ft_20_3e',['conditional< ((kSizeBits%32)!=0), typename platform::conditional< ((kSizeBits%16)!=0), uint8_t, uint16_t >::type, uint32_t >',['../structcutlass_1_1platform_1_1conditional.html',1,'cutlass::platform']]],
|
||||
['conditional_3c_20false_2c_20t_2c_20f_20_3e',['conditional< false, T, F >',['../structcutlass_1_1platform_1_1conditional_3_01false_00_01T_00_01F_01_4.html',1,'cutlass::platform']]],
|
||||
['constiterator',['ConstIterator',['../classcutlass_1_1PredicateVector_1_1ConstIterator.html',1,'cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::ConstIterator'],['../classcutlass_1_1TensorRefBatchStrided_1_1ConstIterator.html',1,'cutlass::TensorRefBatchStrided< Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ >::ConstIterator'],['../classcutlass_1_1TensorRefArray_1_1ConstIterator.html',1,'cutlass::TensorRefArray< Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ >::ConstIterator']]],
|
||||
['constpredicatetileadapter',['ConstPredicateTileAdapter',['../structcutlass_1_1ConstPredicateTileAdapter.html',1,'cutlass']]],
|
||||
['contiguouslayout',['ContiguousLayout',['../structcutlass_1_1MatrixLayout_1_1ContiguousLayout.html',1,'cutlass::MatrixLayout']]],
|
||||
['convert',['Convert',['../structcutlass_1_1Convert.html',1,'cutlass']]],
|
||||
['convert_3c_20fragment_3c_20inputscalar_5f_2c_20kscalars_5f_20_3e_2c_20fragment_3c_20outputscalar_5f_2c_20kscalars_5f_20_3e_20_3e',['Convert< Fragment< InputScalar_, kScalars_ >, Fragment< OutputScalar_, kScalars_ > >',['../structcutlass_1_1Convert_3_01Fragment_3_01InputScalar___00_01kScalars___01_4_00_01Fragment_3_01Ofca5985d18bcb54bc1f49355f3cee121.html',1,'cutlass']]],
|
||||
['const_5fiterator',['const_iterator',['../classcutlass_1_1Array_3_01T_00_01N_00_01true_01_4_1_1const__iterator.html',1,'cutlass::Array< T, N, true >']]],
|
||||
['const_5fiterator',['const_iterator',['../classcutlass_1_1Array_3_01T_00_01N_00_01false_01_4_1_1const__iterator.html',1,'cutlass::Array< T, N, false >']]],
|
||||
['const_5freference',['const_reference',['../classcutlass_1_1Array_3_01T_00_01N_00_01false_01_4_1_1const__reference.html',1,'cutlass::Array< T, N, false >']]],
|
||||
['const_5freverse_5fiterator',['const_reverse_iterator',['../classcutlass_1_1Array_3_01T_00_01N_00_01false_01_4_1_1const__reverse__iterator.html',1,'cutlass::Array< T, N, false >']]],
|
||||
['const_5freverse_5fiterator',['const_reverse_iterator',['../classcutlass_1_1Array_3_01T_00_01N_00_01true_01_4_1_1const__reverse__iterator.html',1,'cutlass::Array< T, N, true >']]],
|
||||
['constiterator',['ConstIterator',['../classcutlass_1_1PredicateVector_1_1ConstIterator.html',1,'cutlass::PredicateVector']]],
|
||||
['constsubbytereference',['ConstSubbyteReference',['../classcutlass_1_1ConstSubbyteReference.html',1,'cutlass']]],
|
||||
['contiguousmatrix',['ContiguousMatrix',['../structcutlass_1_1layout_1_1ContiguousMatrix.html',1,'cutlass::layout']]],
|
||||
['convert',['Convert',['../classcutlass_1_1epilogue_1_1thread_1_1Convert.html',1,'cutlass::epilogue::thread']]],
|
||||
['coord',['Coord',['../structcutlass_1_1Coord.html',1,'cutlass']]],
|
||||
['coord_3c_202_2c_20int_20_3e',['Coord< 2, int >',['../structcutlass_1_1Coord.html',1,'cutlass']]],
|
||||
['coord_3c_203_20_3e',['Coord< 3 >',['../structcutlass_1_1Coord.html',1,'cutlass']]],
|
||||
['coord_3c_203_2c_20int_20_3e',['Coord< 3, int >',['../structcutlass_1_1Coord.html',1,'cutlass']]],
|
||||
['coord_3c_204_20_3e',['Coord< 4 >',['../structcutlass_1_1Coord.html',1,'cutlass']]],
|
||||
['coord_3c_204_2c_20index_5f_20_3e',['Coord< 4, Index_ >',['../structcutlass_1_1Coord.html',1,'cutlass']]],
|
||||
['coord_3c_204_2c_20int_20_3e',['Coord< 4, int >',['../structcutlass_1_1Coord.html',1,'cutlass']]],
|
||||
['coord_3c_20kstoragerank_20_2d_201_20_3e',['Coord< kStorageRank - 1 >',['../structcutlass_1_1Coord.html',1,'cutlass']]],
|
||||
['copy',['Copy',['../structcutlass_1_1Copy.html',1,'cutlass']]]
|
||||
['coord_3c_20kstriderank_20_3e',['Coord< kStrideRank >',['../structcutlass_1_1Coord.html',1,'cutlass']]],
|
||||
['coord_3c_20kstriderank_2c_20index_20_3e',['Coord< kStrideRank, Index >',['../structcutlass_1_1Coord.html',1,'cutlass']]],
|
||||
['coord_3c_20kstriderank_2c_20index_2c_20longindex_20_3e',['Coord< kStrideRank, Index, LongIndex >',['../structcutlass_1_1Coord.html',1,'cutlass']]],
|
||||
['coord_3c_20layout_3a_3akrank_20_3e',['Coord< Layout::kRank >',['../structcutlass_1_1Coord.html',1,'cutlass']]],
|
||||
['cuda_5fexception',['cuda_exception',['../classcutlass_1_1cuda__exception.html',1,'cutlass']]]
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user