Tensor Evolution: A Framework for Fast Evaluation of Tensor Computations using Recurrences
Javed Absar, Samarth Narang, Muthu Baskaran
TL;DR
Tensor Evolution (TeV) generalizes the Scalar Evolution framework to tensors, enabling analysis of how tensor values evolve inside loops via chains of recurrences and a set of algebraic rewrite lemmas. The approach defines basic and chained tensor evolutions, provides formal lemmas for reshaping, slicing, concatenation, and combining TeV expressions, and demonstrates closed-form transformations in concrete code. The work relates TeV to existing representations like Tensor Comprehensions and Halide, while highlighting TeV's unique focus on reducibility and algebraic simplification for loop-carried tensor computations. If extended, TeV could power loop-strength reduction and exit-value optimization in ML/HPC compilers and DSLs, improving performance in practical tensor-heavy workloads.
Abstract
This paper introduces a new mathematical framework for analysis and optimization of tensor expressions within an enclosing loop. Tensors are multi-dimensional arrays of values. They are common in high performance computing (HPC) and machine learning domains. Our framework extends Scalar Evolution - an important optimization pass implemented in both LLVM and GCC - to tensors. Scalar Evolution (SCEV) relies on the theory of `Chain of Recurrences' for its mathematical underpinnings. We use the same theory for Tensor Evolution (TeV). While some concepts from SCEV map easily to TeV -- e.g. element-wise operations; tensors introduce new operations such as concatenation, slicing, broadcast, reduction, and reshape which have no equivalent in scalars and SCEV. Not all computations are amenable to TeV analysis but it can play a part in the optimization and analysis parts of ML and HPC compilers. Also, for many mathematical/compiler ideas, applications may go beyond what was initially envisioned, once others build on it and take it further. We hope for a similar trajectory for the tensor-evolution concept.
