This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Implementing Domain-Specific Languages for Heterogeneous Parallel Computing
September/October 2011 (vol. 31 no. 5)
pp. 42-53
HyoukJoong Lee, Stanford University
Kevin J. Brown, Stanford University
Arvind K. Sujeeth, Stanford University
Hassan Chafi, Stanford University
Kunle Olukotun, Stanford University
Tirark Rompf, Ecole Polytechnique Federale de Lausanne
Martin Odersky, Ecole Polytechnique Federale de Lausanne

Domain-specific languages offer a solution to the performance and the productivity issues in heterogeneous computing systems. The Delite compiler framework simplifies the process of building embedded parallel DSLs. DSL developers can implement domain-specific operations by extending the DSL framework, which provides static optimizations and code generation for heterogeneous hardware. The Delite runtime automatically schedules and executes DSL operations on heterogeneous hardware.

1. J. Held, J. Bautista, and S. Koehl eds., "From a Few Cores to Many: A Tera-Scale Computing Research Review," white paper, Intel, 2006.
2. "The Industry-Changing Impact of Accelerated Computing," white paper, Advanced Micro Devices, 2008.
3. J. Nickolls, and W.J. Dally, "The GPU Computing Era," IEEE Micro, vol. 30, no. 2, 2010, pp. 56-69.
4. P. Hudak, "Building Domain-Specific Embedded Languages," ACM Computing Surveys, vol. 28, no. 1, 1996, p. 196.
5. A. van Deursen, P. Klint, and J. Visser, "Domain-Specific Languages: An Annotated Bibliography," ACM SIGPLAN Notices, vol. 35, no. 6, 2000, pp. 26-36.
6. J. Peterson, P. Hudak, and C. Elliott, "Lambda in Motion: Controlling Robots with Haskell," Proc. Practical Aspects of Declarative Languages (PADL 99), Springer-Verlag, 1998, pp. 91-105.
7. D. Bruce, "What Makes a Good Domain-Specific Language? APOSTLE, and Its Approach to Parallel Discrete Event Simulation," Proc. 1st ACM SIGPLAN Workshop Domain-Specific Languages (DSL 97), ACM Press, 1997, pp. 17-35.
8. H. Chafi et al., "Language Virtualization for Heterogeneous Parallel Computing," Proc. ACM Int'l Conf. Object Oriented Programming Systems Languages and Applications, ACM Press, 2010, pp. 835-847.
9. A.K. Sujeeth et al., "OptiML: An Implicitly Parallel Domain-Specific Language for Machine Learning," Proc. 28th Int'l Conf. Machine Learning (ICML 11), ACM Press, 2011, pp. 609-616.
10. T. Rompf and M. Odersky, "Lightweight Modular Staging: A Pragmatic Approach to Runtime Code Generation and Compiled DSLs," Proc. 9th Int'l Conf. Generative Programming and Component Engineering (GPCE 10), ACM Press, 2010, pp. 127-136.
11. C. Sanderson, Armadillo: An Open Source C++ Linear Algebra Library for Fast Prototyping and Computationally Intensive Experiments, tech. report, NICTA, 2006; www.nicta.com.aupub?id=4314.

Index Terms:
parallel programming, domain-specific languages, heterogeneous computing, CPU, GPU
Citation:
HyoukJoong Lee, Kevin J. Brown, Arvind K. Sujeeth, Hassan Chafi, Kunle Olukotun, Tirark Rompf, Martin Odersky, "Implementing Domain-Specific Languages for Heterogeneous Parallel Computing," IEEE Micro, vol. 31, no. 5, pp. 42-53, Sept.-Oct. 2011, doi:10.1109/MM.2011.68
Usage of this product signifies your acceptance of the Terms of Use.