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:
Andrew Kerr
2019-11-19 16:55:34 -08:00
committed by GitHub
parent b5cab177a9
commit fb335f6a5f
5434 changed files with 599799 additions and 250176 deletions
+1 -8
View File
@@ -1,11 +1,4 @@
var searchData=
[
['zip_5ffragment_2eh',['zip_fragment.h',['../zip__fragment_8h.html',1,'']]],
['zip_5ftensor_5fref_2eh',['zip_tensor_ref.h',['../zip__tensor__ref_8h.html',1,'']]],
['zip_5ftile_5fiterator_2eh',['zip_tile_iterator.h',['../zip__tile__iterator_8h.html',1,'']]],
['zipconvert',['ZipConvert',['../structcutlass_1_1ZipConvert.html',1,'cutlass::ZipConvert< First_, Second_ >'],['../structcutlass_1_1ZipConvert.html#a7aa56d3ea300ebc58493c4d66339fff5',1,'cutlass::ZipConvert::ZipConvert()'],['../structcutlass_1_1ZipConvert.html#a3322c88b418c365423480a481e29df29',1,'cutlass::ZipConvert::ZipConvert(First const &_first, Second const &_second)']]],
['zipfragment',['ZipFragment',['../structcutlass_1_1ZipFragment.html',1,'cutlass::ZipFragment< First_, Second_ >'],['../structcutlass_1_1ZipFragment.html#aeb654423884324b14130a8fa8bc1ab83',1,'cutlass::ZipFragment::ZipFragment()'],['../structcutlass_1_1ZipFragment.html#a520318d060123c5870c4153b99cf0427',1,'cutlass::ZipFragment::ZipFragment(First const &_first, Second const &_second)']]],
['ziptensorref',['ZipTensorRef',['../structcutlass_1_1ZipTensorRef.html',1,'cutlass::ZipTensorRef< First_, Second_ >'],['../structcutlass_1_1ZipTensorRef.html#a9b4e616da5b0a71ac2d9bd03b4e07b86',1,'cutlass::ZipTensorRef::ZipTensorRef()'],['../structcutlass_1_1ZipTensorRef.html#a6905b853de0521e2f2fedac407a920e1',1,'cutlass::ZipTensorRef::ZipTensorRef(First const &_first, Second const &_second)']]],
['ziptileallocation',['ZipTileAllocation',['../structcutlass_1_1ZipTileAllocation.html',1,'cutlass']]],
['ziptileiterator',['ZipTileIterator',['../classcutlass_1_1ZipTileIterator.html',1,'cutlass::ZipTileIterator< First_, Second_ >'],['../classcutlass_1_1ZipTileIterator.html#a09eab0c5218fc122848b623462c18149',1,'cutlass::ZipTileIterator::ZipTileIterator()'],['../classcutlass_1_1ZipTileIterator.html#a45a8ba275f8d4f71deb102ad46712b3e',1,'cutlass::ZipTileIterator::ZipTileIterator(Params const &_params, Coord< 3 > const &threadblock_offset=make_Coord(0, 0, 0))'],['../classcutlass_1_1ZipTileIterator.html#a31553842afd1cfd5a18a2fd6c39e17b5',1,'cutlass::ZipTileIterator::ZipTileIterator(First const &_first, Second const &_second)'],['../classcutlass_1_1ZipTileIterator.html#a808e06560609aa5b7bb693ec79a3aa57',1,'cutlass::ZipTileIterator::ZipTileIterator(TensorRef const &ref)'],['../classcutlass_1_1ZipTileIterator.html#a9d70b24bf38122c0fea49558c6f6b344',1,'cutlass::ZipTileIterator::ZipTileIterator(Params const &_params, TensorRef const &ref)']]]
['xor_5fadd',['xor_add',['../structcutlass_1_1xor__add.html',1,'cutlass']]]
];