- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.5k
 
Project Structure
        Matthew Nicely edited this page Dec 11, 2022 
        ·
        11 revisions
      
    CUTLASS is arranged as a header-only library along with Utilities, Tools, Examples, and unit tests. Doxygen documentation provides a complete list of files, classes, and template concepts defined in the CUTLASS project.
A detailed explanation of the source code organization may be found in the CUTLASS documentation, but several main components are summarized below.
include/                     # client applications should target this directory in their build's include paths
  cutlass/                   # CUDA Templates for Linear Algebra Subroutines and Solvers - headers only
    arch/                    # direct exposure of architecture features (including instruction-level GEMMs)
    conv/                    # code specialized for convolution
    epilogue/                # code specialized for the epilogue of gemm/convolution
    gemm/                    # code specialized for general matrix product computations
    layout/                  # layout definitions for matrices, tensors, and other mathematical objects in memory
    platform/                # CUDA-capable Standard Library components
    reduction/               # bandwidth-limited reduction kernels that do not fit the "gemm" model
    thread/                  # simt code that can be performed within a CUDA thread
    
    transform/               # code specialized for layout, type, and domain transformations
    *                        # core vocabulary types, containers, and basic numeric operations
CUTLASS SDK examples apply CUTLASS templates to implement basic computations.
tools/
  library/                   # CUTLASS Instance Library - contains instantiations of all supported CUTLASS templates
    include/
      cutlass/
        library/
  profiler/                  # CUTLASS Profiler         - command-line utility for executing operations in the
                             #                            CUTLASS Library
  
  util/                      # CUTLASS Utilities        - contains numerous helper classes for
    include/                 #                            manging tensors in device memory, reference
      cutlass/               #                            implementations for GEMM, random initialization
        util/                #                            of tensors, and I/O.
The test/unit/ directory consist of unit tests implemented with Google Test that demonstrate
basic usage of Core API components and complete tests of the CUTLASS GEMM computations.
Instructions for building and running the Unit tests are described in the Quickstart guide.