Building-Blocks for Performance Oriented DSLs

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 pl...

Full description

Bibliographic Details
Main Authors: Tiark Rompf, Arvind K. Sujeeth, HyoukJoong Lee, Kevin J. Brown, Hassan Chafi, Martin Odersky, Kunle Olukotun
Format: Article
Language:English
Published: Open Publishing Association 2011-09-01
Series:Electronic Proceedings in Theoretical Computer Science
Online Access:http://arxiv.org/pdf/1109.0778v1
id doaj-d3d920cfecc04111a6bf38c1d0d6f628
record_format Article
spelling doaj-d3d920cfecc04111a6bf38c1d0d6f6282020-11-24T23:46:16ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802011-09-0166Proc. DSL 20119311710.4204/EPTCS.66.5Building-Blocks for Performance Oriented DSLsTiark RompfArvind K. SujeethHyoukJoong LeeKevin J. BrownHassan ChafiMartin OderskyKunle OlukotunDomain-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.http://arxiv.org/pdf/1109.0778v1
collection DOAJ
language English
format Article
sources DOAJ
author Tiark Rompf
Arvind K. Sujeeth
HyoukJoong Lee
Kevin J. Brown
Hassan Chafi
Martin Odersky
Kunle Olukotun
spellingShingle Tiark Rompf
Arvind K. Sujeeth
HyoukJoong Lee
Kevin J. Brown
Hassan Chafi
Martin Odersky
Kunle Olukotun
Building-Blocks for Performance Oriented DSLs
Electronic Proceedings in Theoretical Computer Science
author_facet Tiark Rompf
Arvind K. Sujeeth
HyoukJoong Lee
Kevin J. Brown
Hassan Chafi
Martin Odersky
Kunle Olukotun
author_sort Tiark Rompf
title Building-Blocks for Performance Oriented DSLs
title_short Building-Blocks for Performance Oriented DSLs
title_full Building-Blocks for Performance Oriented DSLs
title_fullStr Building-Blocks for Performance Oriented DSLs
title_full_unstemmed Building-Blocks for Performance Oriented DSLs
title_sort building-blocks for performance oriented dsls
publisher Open Publishing Association
series Electronic Proceedings in Theoretical Computer Science
issn 2075-2180
publishDate 2011-09-01
description 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.
url http://arxiv.org/pdf/1109.0778v1
work_keys_str_mv AT tiarkrompf buildingblocksforperformanceorienteddsls
AT arvindksujeeth buildingblocksforperformanceorienteddsls
AT hyoukjoonglee buildingblocksforperformanceorienteddsls
AT kevinjbrown buildingblocksforperformanceorienteddsls
AT hassanchafi buildingblocksforperformanceorienteddsls
AT martinodersky buildingblocksforperformanceorienteddsls
AT kunleolukotun buildingblocksforperformanceorienteddsls
_version_ 1725494008929583104