Deep dive into CuTeDSL swizzle layouts and M parameter logic

snowclipsed · x · 2026-09-02

The post discusses the reasoning behind composing a <3,3,3> swizzle with an (8,64) block in CuTeDSL. It references a blog explaining the calculation of B and S for a layout with 8 rows and 64 bf16 elements per row, aligned to 16 bytes. Addressing why M is 3 instead of 4 in the Ampere example, it clarifies that CuTeDSL reasons about M in layout offset units, not directly on byte addresses, meaning pointers are offset by elements of the layout's codomain.

Original post →

More from Infra

Infra channel →