Get the latest tech news

Tensor evolution: A framework for fast tensor computations using recurrences


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.

View PDFHTML (experimental) Abstract:This paper introduces a new mathematical framework for analysis and optimization of tensor expressions within an enclosing loop. 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.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of Framework

Framework

Photo of recurrences

recurrences

Photo of tensor evolution

tensor evolution

Related news:

News photo

Why ‘prosocial AI’ must be the framework for designing, deploying and governing AI

News photo

Mixin is a trait/mixin and bytecode weaving framework for Java using ASM

News photo

libcamera 0.4 Released For Open-Source Camera Stack/Framework