Program Generation for Small Linear Algebra

Markus Püschel

Department of Computer Science, ETH Zurich

Friday, September 08, 2017, 11:00

Room 02-012, Georges-Köhler Allee 102, Freiburg 79110, Germany

Many performance-critical computations in communication, control, multimedia processing, machine learning, or graphics fall into the domain of linear algebra. Existing optimized libraries for linear algebra are usually optimized for large scale computation and for uses in scientific computing. For small scale computations in other domains they are often suboptimal. In this talk I present our work on generating optimized linear algebra code directly from a mathematical description using techniques developed in Spiral ( layers of domain-specific languages to express the mathematics and the use of rewriting systems to reshape the computation at a high level of abstraction to overcome known compiler limitations (This is joint work with Daniele Spampinato; project website:


About the speaker:

Markus Püschel is a Professor and former Department Head of Computer Science at ETH Zurich, Switzerland. Before, he was a Professor of Electrical and Computer Engineering at Carnegie Mellon University, where he still has an adjunct status. He received his Diploma (M.Sc.) in Mathematics and his Doctorate (Ph.D.) in Computer Science, in 1995 and 1998, respectively, both from the University of Karlsruhe, Germany. Together with his collaborators, he co-founded Spiralgen in 2009. One of his main research interests is program generation for performance as exemplified by the Spiral project ( Besides this, his current interests span hardware design, signal processing, program analysis, theory, and machine learning. For more information please visit