Zum Inhalt springen

CZS supported AI projects – session 1
10:30 AM – 11:40 PM

A Simple and Fast Intermediate Representation for Einsum-Like Expressions

Efficient libraries implementing the Einstein summation convention (einsum) are versatile tools for the evaluation of complex multi-dimensional linear algebra expressions. In this work we present a simple and fast approach for the implementation of einsum expressions. Our first contribution is an intermediate representation which allows us to formulate the evaluation of einsum expressions through two key constructs. First, we identify either a small GEMM operation or a small packed GEMM operation at the core of every occurring binary tensor contraction. Second, we embed the identified primitive into a simple nested loop structure.
Our second contribution is a set of extensions to this formalism which allows us to formulate einsum-like expressions such as a ResNet layer in our intermediate representation. The third contribution is an implementation of this approach in software and an extensive performance analysis. We show that the lowering of einsum-like expressions to our intermediate representation leads to a formulation which is free of intermediate tensor transpositions. The obtained performance results are highly competitive with state-of-the-art software on the Graviton3E, Sapphire Rapids and Raptor Lake processors. Further, due to the strict encapsulation of performance-critical pieces into few primitives, our approach inherits the performance portability of the primitive-providing library without the need for the labor-intensive implementation of additional kernel routines.

Speaker and Project leader

Prof. Dr. Alexander Breuer

Alexander’s work tackles computationally demanding challenges in research and industry.
His work covers the involved disciplines from the bare metal of computer architectures to fully automated production workflows by integrating modeling and simulation, high-performance computing, software engineering, data analytics, and verification and validation. This overarching approach is key for building visionary, transferable, robust and efficient software pipelines.
In 2014 Alexander was honored with an ACM/IEEE-CS George Michael Memorial HPC Fellowship for his Ph.D. project “High Performance Earthquake Simulations”.
In addition, he and his collaborators have been awarded with the PRACE ISC Award and nominated as ACM Gordon Bell finalists.
Alexander holds a doctoral degree from the Technical University of Munich and currently leads the Scalable Data- and Computation-intensive Analyses lab at Friedrich Schiller University Jena.