Commit Graph
48 Commits
Author SHA1 Message Date
Andrew Kerr fc9ebc645b CUTLASS 2.10 bug fixes and minor updates. (#626) 2022-09-15 16:20:33 -04:00
Andrew Kerr a0de301283 Used relative paths for includes (#477) 2022-04-27 12:04:23 -07:00
Andrew Kerr 12f4108ac2 CUTLASS 2.9 (#468) 2022-04-23 15:02:38 -04:00
Andrew Kerr 8a951b2940 Enable convolution with fused epilogue for Volta Tensor Cores (#402)
* Enabled convolution with epilogue fusion for Volta Tensor Cores.

* Compilation fixes

* Disabled testing Volta on Ampere architectures.
2022-01-30 23:24:50 -05:00
Andrew Kerr 288af365db Added missing synchronization to avoid WAR hazards between tiles. (#386) 2021-12-20 08:34:08 -08:00
Andrew Kerr ec4f7e5194 Updates to fused epilogue (#383)
* Enhancements and fixes to fused GEMM and Convolution epilogue.
* Need to explicitly list cudart as unit test library dependency.
2021-12-17 16:04:43 -05:00
Andrew Kerr 4e666e1dfd Updated README and added issue templates. (#382) 2021-12-17 09:26:20 -05:00
Andrew Kerr 5fe09c2d67 Updated GEMM performance plot with CUTLASS 2.8 compiled with CUDA 11.5 Toolkit (#375)
Updated GEMM performance plot with CUTLASS 2.8 compiled using CUDA 11.5 Toolkit.

GPUs under test:

    NVIDIA A100
    NVIDIA A2
    NVIDIA TitanV
    NVIDIA GeForce 2080 Ti
2021-12-06 14:21:33 -05:00
Andrew Kerr 6b69c79ac3 Fixed contributor formatting. (#365) 2021-11-22 11:30:53 -08:00
Andrew Kerr 62e438f450 Listed Matthew Nicely as the CUTLASS product manager.. (#364) 2021-11-19 17:51:21 -08:00
Andrew Kerr 200a5a5146 Enabled reduction unit tests. 2021-02-26 15:46:57 -05:00
Andrew Kerr 746b7b3247 Enabled tensor reduction kernels. 2021-02-26 15:32:19 -05:00
Andrew Kerr abdf16a4d9 Updated release notes. 2021-02-26 13:55:04 -05:00
Andrew Kerr 0e13748649 CUTLASS 2.5 2021-02-26 09:58:26 -05:00
akerr 37a8f9e598 CUTLASS 2.3.0 final. 2020-09-25 10:34:46 -07:00
Andrew Kerr c53f3339bb CUTLASS 2.3 initial commit (#134)
CUTLASS 2.3 adds GEMMs targeting Sparse Tensor Cores on the NVIDIA Ampere Architecture, fast SGEMM, and small matrix classes, bug fixes, and performance enhancements.
2020-09-23 14:00:58 -07:00
Andrew Kerr fd7e058d0c Added examples to enable the unity build (#102)
* Updated documentation of fused GEMM example and removed UNITY BUILD batch size. The default batch size when unity build is enabled tends to be favorable.
2020-06-17 07:09:18 -07:00
Andrew Kerr 1ab1027954 Updated mma_sm80.h to avoid perf penalty due to reinterpret_cast<>. (#100)
- Updated mma_sm80.h to avoid perf penalty due to reinterpret_cast<>.
- Enhancement to CUTLASS Utility Library's HostTensorPlanarComplex template to support copy-in and copy-out
- Added test_examples target to build and test all CUTLASS examples
- Minor edits to documentation to point to GTC 2020 webinar
2020-06-15 10:47:01 -07:00
Andrew Kerr 86931fef85 CUTLASS 2.2 (#96)
Adds support for NVIDIA Ampere Architecture features. CUDA 11 Toolkit recommended.
2020-06-08 16:17:35 -07:00
Andrew Kerr 96dab34ad9 CUTLASS 2.1 (#83)
CUTLASS 2.1 contributes:
- BLAS-style host-side API added to CUTLASS Library
- Planar Complex GEMM kernels targeting Volta and Turing Tensor Cores
- Minor enhancements and bug fixes
2020-04-07 13:51:25 -07:00
Andrew Kerr 7c0cd26d13 Need Python 3.6 to use enum.auto() (#70) 2019-11-22 09:39:12 -08:00
Andrew Kerr 45ecbc885b Removed redundant conjugation operations from matrix_traits. (#65) 2019-11-20 11:27:13 -08:00
Andrew Kerr 8aca98f9a7 Improved formatting, clarity, and content of several documents. (#64)
* Improved formatting, clarity, and content of several documents.
2019-11-20 10:42:15 -08:00
Andrew Kerr fb335f6a5f 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.
2019-11-19 16:55:34 -08:00
Andrew Kerr b5cab177a9 Performance enhancement for Volta Tensor Cores TN layout (#53)
* Fixed performance defect with indirect access to pointer array for Volta TensorCores TN arrangement.

* Updated patch version and changelog.

* Updated patch version and changelog.

* Added link to changelog in readme.

* Fixed markdown link
2019-07-10 10:54:12 -07:00
akerr 822b0952cd Resolved issue for incorrect SGEMM on Maxwell architecture. 2018-12-19 15:07:16 -08:00
akerr 74df0331f2 CUTLASS 1.2 2018-10-26 14:38:46 -07:00
akerr cfe4b933ef CUDA 9 lacks host-side conversions from float=>half. Instead, we must reinterpret_cast<> from cutlass::half_t => half. 2018-09-29 15:04:20 -07:00
akerr 1a7ac522f8 Clarification to README 2018-09-20 11:04:03 -07:00
akerr 206e38dac5 Updated copyright of CUTLASS.md 2018-09-19 21:31:12 -07:00
akerr 0826572c4c Reduced range of random values to avoid bit-level inconsistencies for large matrices. 2018-09-19 21:11:48 -07:00
akerr 77d1e0ca81 Updated README and CHANGELOG. 2018-09-19 20:42:51 -07:00
akerr d7137f9c0a Updated doxygen 2018-09-19 14:02:08 -07:00
akerr 461f417b9d Checkpointing CUTLASS 1.1 release. 2018-09-18 16:58:03 -07:00
akerr b9bb0d1a49 Edits to README and changelog pursuant CUTLASS 1.0.1 patch. 2018-06-26 13:57:39 -07:00
akerr c566e83e6d Updated changelog. 2018-06-11 14:54:07 -07:00
akerr 374882be53 Replaced GoogleTest copy with submodule. Added updates to support intra-threadblock reductions. Added tests for same. 2018-06-11 11:47:15 -07:00
akerr 2c496c3e9e Replaced GoogleTest copy with Git submodule. 2018-06-11 11:32:41 -07:00
akerr 480732c2e8 Minor updates to usage and readme. 2018-05-17 15:10:55 -07:00
akerr acb90e962a Updated url to Doxygen and modified usage statement in performance test program. 2018-05-17 11:11:05 -07:00
akerr 25ff282403 Moved Doxygen documents. 2018-05-16 15:25:24 -07:00
akerr 923dfb42ce Updated README.md 2018-05-16 12:50:10 -07:00
akerr 6f6f269a0a Updated README.md 2018-05-16 12:47:07 -07:00
akerr 2028ebe120 CUTLASS v1.0 release 2018-05-16 11:44:56 -07:00
akerr 901287175f Merge branch 'Artem-B-clang-fixes' 2018-01-04 15:46:08 -08:00
akerr 4276e46e61 Improved formatting of Makefile 2017-12-05 12:45:06 -08:00
akerr d08ba8ac46 Committing CUTLASS for release. 2017-12-04 21:12:52 -08:00
akerr bbb3178126 Initial commit 2017-12-04 08:07:48 -08:00