Building-Blocks for Performance Oriented DSLs
Tiark Rompf (EPFL), Arvind K. Sujeeth (Stanford University),, HyoukJoong Lee (Stanford University), Kevin J. Brown (Stanford University),, Hassan Chafi (Stanford University), Martin Odersky (EPFL), Kunle Olukotun, (Stanford University)

TL;DR
This paper introduces the Delite Framework, a toolkit that simplifies building and compiling performance-oriented embedded DSLs for heterogeneous hardware, demonstrated through the OptiML machine-learning DSL.
Contribution
The paper presents the Delite Framework, enabling easier development of high-performance embedded DSLs targeting heterogeneous hardware platforms.
Findings
Delite simplifies building embedded DSLs.
OptiML achieves efficient execution on heterogeneous hardware.
Experimental results validate Delite's effectiveness.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Formal Methods in Verification · Logic, programming, and type systems
