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:
@@ -1,20 +1,12 @@
|
||||
var searchData=
|
||||
[
|
||||
['launch',['Launch',['../structcutlass_1_1gemm_1_1Launch.html',1,'cutlass::gemm']]],
|
||||
['launch_3c_20gemm_2c_20false_20_3e',['Launch< Gemm, false >',['../structcutlass_1_1gemm_1_1Launch_3_01Gemm_00_01false_01_4.html',1,'cutlass::gemm']]],
|
||||
['less',['less',['../structcutlass_1_1platform_1_1less.html',1,'cutlass::platform']]],
|
||||
['linearscaling',['LinearScaling',['../structcutlass_1_1gemm_1_1LinearScaling.html',1,'cutlass::gemm']]],
|
||||
['linearscalingdeviceptr',['LinearScalingDevicePtr',['../structcutlass_1_1gemm_1_1LinearScalingDevicePtr.html',1,'cutlass::gemm']]],
|
||||
['load',['Load',['../structcutlass_1_1Load.html',1,'cutlass']]],
|
||||
['load_3c_20double_2c_202_2c_20memory_5f_2c_20fragmentelementtype_3a_3akscalar_2c_20double_2c_20kstride_2c_2016_20_3e',['Load< double, 2, Memory_, FragmentElementType::kScalar, double, kStride, 16 >',['../structcutlass_1_1Load_3_01double_00_012_00_01Memory___00_01FragmentElementType_1_1kScalar_00_01double_00_01kStride_00_0116_01_4.html',1,'cutlass']]],
|
||||
['load_3c_20scalar_5f_2c_20kaccesssize_2c_20memory_5f_2c_20fragmentelementtype_3a_3akscalar_2c_20scalar_5f_2c_201_2c_202_20_3e',['Load< Scalar_, kAccessSize, Memory_, FragmentElementType::kScalar, Scalar_, 1, 2 >',['../structcutlass_1_1Load_3_01Scalar___00_01kAccessSize_00_01Memory___00_01FragmentElementType_1_1kSf1f63874ddc1302ed9e60e0478e1a8ad.html',1,'cutlass']]],
|
||||
['load_3c_20scalar_5f_2c_20kaccesssize_2c_20memory_5f_2c_20fragmentelementtype_3a_3akscalar_2c_20scalar_5f_2c_20kstride_2c_2016_20_3e',['Load< Scalar_, kAccessSize, Memory_, FragmentElementType::kScalar, Scalar_, kStride, 16 >',['../structcutlass_1_1Load_3_01Scalar___00_01kAccessSize_00_01Memory___00_01FragmentElementType_1_1kS3de71ba9ef724a37fb1cf315da8bf9b5.html',1,'cutlass']]],
|
||||
['load_3c_20scalar_5f_2c_20kaccesssize_2c_20memory_5f_2c_20fragmentelementtype_3a_3akscalar_2c_20scalar_5f_2c_20kstride_2c_204_20_3e',['Load< Scalar_, kAccessSize, Memory_, FragmentElementType::kScalar, Scalar_, kStride, 4 >',['../structcutlass_1_1Load_3_01Scalar___00_01kAccessSize_00_01Memory___00_01FragmentElementType_1_1kS1b28106546bd22002cd52e60197548ce.html',1,'cutlass']]],
|
||||
['load_3c_20scalar_5f_2c_20kaccesssize_2c_20memory_5f_2c_20fragmentelementtype_3a_3akscalar_2c_20scalar_5f_2c_20kstride_2c_208_20_3e',['Load< Scalar_, kAccessSize, Memory_, FragmentElementType::kScalar, Scalar_, kStride, 8 >',['../structcutlass_1_1Load_3_01Scalar___00_01kAccessSize_00_01Memory___00_01FragmentElementType_1_1kS91ff65dd36f118bca4542df6128d6d99.html',1,'cutlass']]],
|
||||
['load_3c_20scalar_5f_2c_20kaccesssize_2c_20memory_5f_2c_20fragmentelementtype_3a_3akwmmamatrix_2c_20fragmentelement_5f_2c_20kstride_2c_20size_20_3e',['Load< Scalar_, kAccessSize, Memory_, FragmentElementType::kWmmaMatrix, FragmentElement_, kStride, size >',['../structcutlass_1_1Load_3_01Scalar___00_01kAccessSize_00_01Memory___00_01FragmentElementType_1_1kWe58d0048e24352beeec002fd483c53b2.html',1,'cutlass']]],
|
||||
['load_3c_20vector_3c_20bin1_5ft_2c_2032_20_3e_2c_20kaccesssize_2c_20memory_5f_2c_20fragmentelementtype_3a_3akwmmamatrix_2c_20fragmentelement_5f_2c_20kstride_2c_20size_20_3e',['Load< Vector< bin1_t, 32 >, kAccessSize, Memory_, FragmentElementType::kWmmaMatrix, FragmentElement_, kStride, size >',['../structcutlass_1_1Load_3_01Vector_3_01bin1__t_00_0132_01_4_00_01kAccessSize_00_01Memory___00_01Fra240d9c28383cd3945277ec3a927c538.html',1,'cutlass']]],
|
||||
['load_3c_20vector_3c_20int4_5ft_2c_208_20_3e_2c_20kaccesssize_2c_20memory_5f_2c_20fragmentelementtype_3a_3akwmmamatrix_2c_20fragmentelement_5f_2c_20kstride_2c_20size_20_3e',['Load< Vector< int4_t, 8 >, kAccessSize, Memory_, FragmentElementType::kWmmaMatrix, FragmentElement_, kStride, size >',['../structcutlass_1_1Load_3_01Vector_3_01int4__t_00_018_01_4_00_01kAccessSize_00_01Memory___00_01Fra934529165fa8fecdd392b5302d25ef26.html',1,'cutlass']]],
|
||||
['load_3c_20vector_3c_20uint4_5ft_2c_208_20_3e_2c_20kaccesssize_2c_20memory_5f_2c_20fragmentelementtype_3a_3akwmmamatrix_2c_20fragmentelement_5f_2c_20kstride_2c_20size_20_3e',['Load< Vector< uint4_t, 8 >, kAccessSize, Memory_, FragmentElementType::kWmmaMatrix, FragmentElement_, kStride, size >',['../structcutlass_1_1Load_3_01Vector_3_01uint4__t_00_018_01_4_00_01kAccessSize_00_01Memory___00_01Fr23088b868c6eeec9377c46892553686f.html',1,'cutlass']]],
|
||||
['layouttranspose',['LayoutTranspose',['../structcutlass_1_1layout_1_1LayoutTranspose.html',1,'cutlass::layout']]],
|
||||
['layouttranspose_3c_20layout_3a_3acolumnmajor_20_3e',['LayoutTranspose< layout::ColumnMajor >',['../structcutlass_1_1layout_1_1LayoutTranspose_3_01layout_1_1ColumnMajor_01_4.html',1,'cutlass::layout']]],
|
||||
['layouttranspose_3c_20layout_3a_3arowmajor_20_3e',['LayoutTranspose< layout::RowMajor >',['../structcutlass_1_1layout_1_1LayoutTranspose_3_01layout_1_1RowMajor_01_4.html',1,'cutlass::layout']]],
|
||||
['linearcombination',['LinearCombination',['../classcutlass_1_1epilogue_1_1thread_1_1LinearCombination.html',1,'cutlass::epilogue::thread']]],
|
||||
['linearcombinationclamp',['LinearCombinationClamp',['../classcutlass_1_1epilogue_1_1thread_1_1LinearCombinationClamp.html',1,'cutlass::epilogue::thread']]],
|
||||
['linearcombinationrelu',['LinearCombinationRelu',['../classcutlass_1_1epilogue_1_1thread_1_1LinearCombinationRelu.html',1,'cutlass::epilogue::thread']]],
|
||||
['linearcombinationrelu_3c_20elementoutput_5f_2c_20count_2c_20int_2c_20float_2c_20round_20_3e',['LinearCombinationRelu< ElementOutput_, Count, int, float, Round >',['../classcutlass_1_1epilogue_1_1thread_1_1LinearCombinationRelu_3_01ElementOutput___00_01Count_00_01int_00_01float_00_01Round_01_4.html',1,'cutlass::epilogue::thread']]],
|
||||
['log2_5fdown',['log2_down',['../structcutlass_1_1log2__down.html',1,'cutlass']]],
|
||||
['log2_5fdown_3c_20n_2c_201_2c_20count_20_3e',['log2_down< N, 1, Count >',['../structcutlass_1_1log2__down_3_01N_00_011_00_01Count_01_4.html',1,'cutlass']]],
|
||||
['log2_5fup',['log2_up',['../structcutlass_1_1log2__up.html',1,'cutlass']]],
|
||||
|
||||
Reference in New Issue
Block a user