kirancodes.me
To Proof Maintenance & Beyond!

Computer Generation of General Size Linear Transform Libraries

Yevgen Voronenko, Frédéric de Mesmay, Markus Püschel

Abstract

The development of high-performance libraries has become extraordinarily difficult due to multiple processor cores, vector instruction sets, and deep memory hierarchies. Often, the library has to be reimplemented and reoptimized, when a new platform is released. In this paper we show how to automatically generate general input-size libraries for the domain of linear transforms. The input to our generator is a formal specification of the transform and the recursive algorithms the library should use; the output is a library that supports general input size, is vectorized and multithreaded, provides an adaptation mechanism for the memory hierarchy, and has excellent performance, comparable to or better than the best human-written libraries. Further, we show that our library generator enables various customizations; one example is the generation of Java libraries.

DOI 10.1109/cgo.2009.33

Related papers