Back to Cutlass

Tutorials

media/docs/cutlass_compiler/tutorials.rst

4.7.01.6 KB
Original Source

Tutorials

Guided introduction to layouts and layout algebra using CuTe IR's MLIR syntax. If you are new to CuTe, work through these in order. If you already know C++ CuTe, use them as a quick map from C++ concepts to their MLIR equivalents.

.. toctree:: :maxdepth: 1

cute_concepts/01_cute_types cute_concepts/02_layout_algebra cute_concepts/03_advanced_constructors cute_concepts/04_accessors_and_size_index cute_concepts/05_arithmetic

Suggested reading order:

  1. :doc:CuTe Algebra Types <cute_concepts/01_cute_types> — the core !cute.layout type, hierarchical shapes / strides / coords, static vs dynamic leaves, tiles, composed layouts, and swizzles.
  2. :doc:Layout algebra <cute_concepts/02_layout_algebra> — the algebra ops: composition, coalesce, complement, slice / dice, inverses, products, divides.
  3. :doc:Advanced constructors <cute_concepts/03_advanced_constructors> — shorthand layout constructors (make_identity_layout, make_ordered_layout, make_layout_like).
  4. :doc:Accessors and size / indexing <cute_concepts/04_accessors_and_size_index> — read components out of CuTe values (get_shape, get_stride, get, select, get_leaves, get_scalars) and compute sizes / coordinate-index conversions (size, cosize, crd2idx, idx2crd).
  5. :doc:Arithmetic on CuTe values <cute_concepts/05_arithmetic> — per-leaf tuple arithmetic and predicates (tuple_add, tuple_sub, shape_div, ceil_div, equal, elem_less).