Categorical Foundations for CuTe Layouts
By: Jack Carlisle , Jay Shah , Reuben Stern and more
Potential Business Impact:
Makes computer graphics faster and more efficient.
NVIDIA's CUTLASS library provides a robust and expressive set of methods for describing and manipulating multi-dimensional tensor data on the GPU. These methods are conceptually grounded in the abstract notion of a CuTe layout and a rich algebra of such layouts, including operations such as composition, logical product, and logical division. In this paper, we present a categorical framework for understanding this layout algebra by focusing on a naturally occurring class of tractable layouts. To this end, we define two categories Tuple and Nest whose morphisms give rise to layouts. We define a suite of operations on morphisms in these categories and prove their compatibility with the corresponding layout operations. Moreover, we give a complete characterization of the layouts which arise from our construction. Finally, we provide a Python implementation of our categorical constructions, along with tests that demonstrate alignment with CUTLASS behavior. This implementation can be found at our git repository https://github.com/ColfaxResearch/layout-categories.
Similar Papers
Modeling Layout Abstractions Using Integer Set Relations
Programming Languages
Unifies computer memory layouts for better performance.
Categorical Construction of Logically Verifiable Neural Architectures
Logic in Computer Science
Makes AI think logically, preventing mistakes.
A Cut-Free Sequent Calculus for the Analysis of Finite-Trace Properties in Concurrent Systems
Logic in Computer Science
Helps computers understand how programs work together.