一步步优化GEMM系列,每次引入一个优化概念并对比性能变化
一步步优化GEMM系列,每次引入一个优化概念并对比性能变化
Cutlass use abstract layout
to express the mapping rules from logic index to physical index.
Cutlass examples gives us many examples to learn cutlass. At this time, 13_two_tensor_op_fusion is introduced.
Warp-level GEMMs may be implemented either by TensorCores issuing mma.sync or wmma instructions, or by thread-level matrix computations issued to CUDA cores. Wmma is an API in CUDA C++ for using TensorCores and if you want to use TensorCores by mma.sync you must use ptx by asm.
I always wonder why cutlass provides many kinds of implementions of GEMM instead of just only one. In my opinion, in different situations the best implementions of GEMM differs. So that is what differs cutlass from cublas. You can make your own custiomlized implemention of GEMM to provide the best performance.
In cutlass 3.0, it introduces a new library, Cute, to describe and manipulate tensors of threads and data.
learn cutlass is a series of tutorials to learn cutlass by reading its examples or source code
CUTLASS is a header-only template library. After reading that, you will be lost in templates.