Electronic Proceedings in Theoretical Computer Science (Sep 2011)

Building-Blocks for Performance Oriented DSLs

  • Tiark Rompf,
  • Arvind K. Sujeeth,
  • HyoukJoong Lee,
  • Kevin J. Brown,
  • Hassan Chafi,
  • Martin Odersky,
  • Kunle Olukotun

DOI
https://doi.org/10.4204/EPTCS.66.5
Journal volume & issue
Vol. 66, no. Proc. DSL 2011
pp. 93 – 117

Abstract

Read online

Domain-specific languages raise the level of abstraction in software development. While it is evident that programmers can more easily reason about very high-level programs, the same holds for compilers only if the compiler has an accurate model of the application domain and the underlying target platform. Since mapping high-level, general-purpose languages to modern, heterogeneous hardware is becoming increasingly difficult, DSLs are an attractive way to capitalize on improved hardware performance, precisely by making the compiler reason on a higher level. Implementing efficient DSL compilers is a daunting task however, and support for building performance-oriented DSLs is urgently needed. To this end, we present the Delite Framework, an extensible toolkit that drastically simplifies building embedded DSLs and compiling DSL programs for execution on heterogeneous hardware. We discuss several building blocks in some detail and present experimental results for the OptiML machine-learning DSL implemented on top of Delite.