Operator Language: A Program Generation Framework for Fast Kernels

  • Authors:
  • Franz Franchetti;Frédéric Mesmay;Daniel Mcfarlin;Markus Püschel

  • Affiliations:
  • Electrical and Computer Engineering, Carnegie Mellon University, Pittsburgh, USA PA 15213;Electrical and Computer Engineering, Carnegie Mellon University, Pittsburgh, USA PA 15213;Electrical and Computer Engineering, Carnegie Mellon University, Pittsburgh, USA PA 15213;Electrical and Computer Engineering, Carnegie Mellon University, Pittsburgh, USA PA 15213

  • Venue:
  • DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

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.