Operator Language: A Program Generation Framework for Fast Kernels

10 years 11 months ago
Operator Language: A Program Generation Framework for Fast Kernels
Abstract. We present the Operator Language (OL), a framework to automatically generate fast numerical kernels. OL provides the structure to extend the program generation system Spiral beyond the transform domain. Using OL, we show how to automatically generate library functionality for the fast Fourier transform and multiple non-transform kernels, including matrix-matrix multiplication, synthetic aperture radar (SAR), circular convolution, sorting networks, and Viterbi decoding. The control flow of the kernels is data-independent, which allows us to cast their algorithms as operator expressions. Using rewriting systems, a structural architecture model and empirical search, we automatically generate very fast C implementations for state-of-the-art multicore CPUs that rival hand-tuned implementations. Key words: Library generation, program generation, automatic performance tuning, high performance software, multicore CPU
Franz Franchetti, Frédéric de Mesmay
Added 17 Feb 2011
Updated 17 Feb 2011
Type Journal
Year 2009
Where DSL
Authors Franz Franchetti, Frédéric de Mesmay, Daniel McFarlin, Markus Püschel
Comments (0)