Abstract | ||
---|---|---|
Today, all high-performance computer architectures are parallel and heterogeneous; a combination of multiple CPUs, GPUs and specialized processors. This creates a complex programming problem for application developers. Domain-specific languages (DSLs) are a promising solution to this problem because they provide an avenue for application-specific abstractions to be mapped directly to low level architecture-specific programming models providing high programmer productivity and high execution performance. In this talk I will describe our approach to building high performance DSLs, which is based on embedding in Scala, light-wieght modular staging and a DSL infrastructure called Delite. I will describe how we transform impure functional programs into efficient first-order low-level code using domain specific optimization, parallelism optimization, locality optimization, scalar optimization, and architecture-specific code generation. All optimizations and transformations are implemented in an extensible DSL compiler architecture that minimizes the programmer effort required to develop a new DSL. |
Year | DOI | Venue |
---|---|---|
2012 | 10.1145/2364527.2364548 | ICFP |
Keywords | Field | DocType |
high execution performance,parallelism optimization,extensible dsl compiler architecture,dsl infrastructure,scalar optimization,new dsl,specific language,locality optimization,embedded domain,high programmer productivity,domain specific optimization,high performance dsls,code generation,programming model,domain specific language,functional programming,scala,application development,first order | Domain-specific language,Scala,Programming language,Programmer,Programming paradigm,Computer science,Digital subscriber line,Parallel computing,Compiler,Code generation,Theoretical computer science,Modular design | Conference |
Volume | Issue | ISSN |
47 | 9 | 0362-1340 |
Citations | PageRank | References |
1 | 0.36 | 0 |
Authors | ||
1 |
Name | Order | Citations | PageRank |
---|---|---|---|
Kunle Olukotun | 1 | 4532 | 373.50 |